【问题标题】:Nginx / PHP-FPM 504 Gateway TimeoutNginx / PHP-FPM 504 网关超时
【发布时间】:2019-01-20 21:03:46
【问题描述】:

我在 nginx 中使用 php-fpm。我有脚本可以获取上传的 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";
   }

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

【问题讨论】:

  • 尝试增加max_execution_time (php.ini) 和request_terminate_timeout (www.conf) 的值。
  • 嗨 ... php.ini 中的 max_execution_time 是 300 .... www.conf 中的 request_terminate_timeout 也是 300

标签: php nginx


【解决方案1】:

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

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

【讨论】:

  • 改成什么,增加还是减少?
猜你喜欢
  • 2017-12-28
  • 2021-05-27
  • 2016-11-28
  • 2014-08-19
  • 1970-01-01
  • 1970-01-01
  • 2018-02-25
  • 2011-08-30
  • 1970-01-01
相关资源
最近更新 更多