Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx+;Php fpm fastcgi上游超时_Php_Nginx_Timeout_Fastcgi_Fpm - Fatal编程技术网

Nginx+;Php fpm fastcgi上游超时

Nginx+;Php fpm fastcgi上游超时,php,nginx,timeout,fastcgi,fpm,Php,Nginx,Timeout,Fastcgi,Fpm,我对长时间运行的PHP脚本有问题: <?php sleep(70); # extend 60s phpinfo(); 我仔细研究了相关问题,并尝试增加超时时间,创建了一个包含以下内容的/etc/nginx/conf.d/timeout.conf文件: proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; fastcgi_read_timeout 600; f

我对长时间运行的PHP脚本有问题:

<?php
sleep(70); # extend 60s
phpinfo();
我仔细研究了相关问题,并尝试增加超时时间,创建了一个包含以下内容的
/etc/nginx/conf.d/timeout.conf
文件:

proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
fastcgi_read_timeout 600;
fastcgi_send_timeout 600;
fastcgi_connect_timeout 600;
我还阅读了和模块的Nginx文档,搜索默认设置为60秒的任何配置

我排除了
client.*
超时,因为它们返回
http408
而不是
http504
响应

这是FastCGI的Nginx服务器配置部分:

location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    include fastcgi_params;
}
从我目前阅读的内容来看,这似乎不是PHP的问题,而应该归咎于Nginx。尽管如此,我还是尝试修改PHP中的限制:

phpinfo()
中的我的值:

php fpm池配置还启用了以下功能:

catch_workers_output = yes
request_terminate_timeout = 600
php fpm日志中没有任何内容

我也在使用Amazon的负载平衡器路由到服务器,但是超时配置也增加了

我不知道还有什么地方可以看,在所有的更改过程中,我重新启动了php fpm和nginx


谢谢你

在这种情况下,我实际上编辑了一个错误的配置文件,但没有被Nginx加载

将以下内容添加到正确的文件完成了此操作:

fastcgi_read_timeout 600;
fastcgi_send_timeout 600;
fastcgi_connect_timeout 600;

可能您的php代码中有错误。我们通过修复php代码解决了类似的问题:您最终在哪个文件中进行了这些更改?我相信是
/etc/nginx/sites enabled/your site
包含了配置。只需确保后面定义的includes中没有覆盖即可。
catch_workers_output = yes
request_terminate_timeout = 600
fastcgi_read_timeout 600;
fastcgi_send_timeout 600;
fastcgi_connect_timeout 600;