nginx fastcgi 超时问题解决记录

时间:2020-12-21 15:16:32

  在网站后台导数据时,出现超时的情况。经过网上查找资料和试验

  主要在下面几个配置的限制

  1.php配置

   第一种:set_time_limit(0); 永不过期

   第二种: php.ini   max_execution_time  = 1200

   ----实际是在本地用apache测试的时候已调整,估计nginx也是一样需要做调整

   一般时间较长的导入操作,数据量也是较大的,需要根据实际需要调整php.ini memory_limit = 64M。如果代码中有重新配置这个值,也需要检查。

  2.php-fpm.conf

  request_terminate_timeout 1200

  设置为20分钟过期

  ----配置完成后一定记得重启哦。我就是忘记重启,然后以为这个配置改了也没用,浪费了不少时间。

  service php-fpm reload(或restart)  一般配置修改都建议用reload

  3.nginx.conf

  fastcgi_connect_timeout 1200;

  fastcgi_send_timeout 1200;

  fastcgi_read_timeout 1200;

  -----主要应该是后面两个参数,设置为20分钟。当然我没做把第一个参数改小的测试,条件允许的话可测试下。

  配置好后重启

  service nginx reload

  依然推荐使用reload

----------------超时的问题以上配置应该基本上能解决问题。这种大数量导入主要从文件大小和超时问题去考虑。涉及内存大小、超时时间配置。

本次调整主要是nginx服务器出现502 bad gateway的错误,超时是这个错误的原因之一。其他包含连接数、缓冲区大小等等也是影响因素。这个不做详细讨论。