首页 > 解决方案 > Nginx / PHP-FPM 504 网关超时

问题描述

我正在将 php-fpm 与 nginx 一起使用。我有脚本可以获取上传的 excel 表并进行处理。这是一项长期的工作。但是,在执行 60 秒后,我收到 504 Gateway Timeout 错误。

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";
   }

任何帮助将不胜感激,因为我在解决此问题方面遇到了障碍。

标签: phpnginx

解决方案


我几乎完全放弃了这个!但是在最后一刻我想出了答案。

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


推荐阅读