Nginx / PHP-FPM 504 网关超时

4
我正在使用nginx和php-fpm。我有一些处理上传的Excel表格的脚本,这是一个长时间运行的任务。然而,执行60秒后,我会遇到504网关超时错误。
PHP脚本继续运行直到完成。因此没有任何东西阻止脚本完成。
我需要解决这个问题。我一直在尝试更改fastcgi_read_timeout参数。但它似乎不能解决这个问题。但是我知道它正在考虑这个参数,因为如果我将其更改为0并重新启动nginx,则会立即显示504网关超时。
location ~ \.php$ {
      try_files $uri =404;
      include /etc/nginx/fastcgi_params;
      fastcgi_pass unix:/var/run/php-fpm/www.sock;
      fastcgi_read_timeout 300;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_param PHP_VALUE "upload_max_filesize = 190M \n post_max_size=190M \n max_execution_time = 300";
   }

由于我在解决这个问题上遇到了障碍,希望您能提供任何帮助。


尝试增加max_execution_time(php.ini)和request_terminate_timeoutwww.conf)的值。 - RoseHosting
嗨...在php.ini中的max_execution_time为300....在www.conf中的request_terminate_timeout也是300。 - j. marc
1个回答

9

我几乎要放弃了!但在最后一刻,我想到了答案。

服务器位于亚马逊AWS之后的负载均衡器上。负载均衡器的空闲超时属性设置为60秒。更改此设置解决了问题!!


改成什么,增加还是减少? - leetNightshade

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接