作者:手机用户2502931235 | 来源:互联网 | 2022-12-07 18:39
我在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";
}
如果我在解决此问题方面遇到障碍,将为您提供任何帮助。
1> j. marc..:
我几乎完全放弃了!但是,在最后一分钟,我想出了答案。
这些服务器位于负载均衡器后面的Amazon AWS上。负载均衡器的idle-timeout属性设置为60秒。更改此设置解决了问题!