php - 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";
}
任何帮助将不胜感激,因为我在解决此问题方面遇到了障碍。
解决方案
我几乎完全放弃了这个!但是在最后一刻我想出了答案。
这些服务器位于负载均衡器后面的 Amazon AWS 上。负载均衡器的空闲超时属性设置为 60 秒。更改此设置解决了问题!!
推荐阅读
- python - 试图为疾病制作分类器,但它返回错误的输出
- python - Python:解析 Json 以查找与少数键匹配的匹配行,并将每个匹配集作为单个 json 记录返回
- flutter - 如何在底部的另一个屏幕中添加有状态的小部件或视图
- ios - 传递核心数据堆栈?
- c - 声明指向 NULL 的指针
- c# - 如何在 Blazor 中使用 C# 检查表单完成情况?
- docker - 如何从 dockerfile 中的 Jfrog 工件中获取战争文件?收到 HTTP 401 错误
- html - 如何在悬停另一个元素时更改多个元素 css?
- java - 无法解析符号“fontPath”
- typescript - 如何避免在打字稿中出现“for...in”字样