nginx fastcgi 超时问题

  在处理导入导出大数据的情况下,一般要调整以下一些参数:

  1.php.ini:  set_time_limit(0);  max_execution_time=1200;  这个是程序执行时间;

      2.php-fpm.conf: request_terminate_timeout 1200;  

      3.nginx_conf:

  fastcgi_connect_timeout 1200;

  fastcgi_send_timeout 1200;

  fastcgi_read_timeout 1200;

      这些数据最好保持一致,详细的请下以下内容:      

 

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

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

  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的错误,超时是这个错误的原因之一。其他包含连接数、缓冲区大小等等也是影响因素。这个不做详细讨论。

 参考:https://www.cnblogs.com/yangcclg/p/5286381.html

posted @ 2020-05-24 08:03  墨子涵  阅读(194)  评论(0编辑  收藏