Nginx错误502和504(上游超时)

时间:2017-10-31 15:36:44

标签: php laravel nginx

我在StackOverflow上搜索并查看了许多答案和解决方案,但没有一个能帮助我解决问题。

为了记录,我在Laravel forge上运行Laravel框架,该框架在Nginx上运行。

我的应用程序具有管理员用户功能,该功能由AJAX激活,可能需要20-30分钟才能完成。我主要需要做这些,而应用程序仍然是新的,然后可能不会在将来使用它,所以我现在至少需要让它工作。

所以首先我得到错误504,如:

2017/10/30 18:17:21 [error] 3603#3603: *89720 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 172.68.58.80, server: www.xxxxx.com, request: "POST /api/copy-table HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.1-fpm.sock", host: "www.xxxxx.com", referrer: "https://www.xxxxx.com/copy"

然后我调整了这些PHP值:

max_execution_time = 1800
output_buffering = 65535

以及这些Nginx值:

fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 1800;
fastcgi_send_timeout 1800;
fastcgi_read_timeout 1800;

现在我在日志中收到错误502:

2017/10/31 15:11:40 [error] 10795#10795: *3 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 172.68.58.80, server: www.xxxxx.com, request: "POST /api/copy-table HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.1-fpm.sock:", host: "www.xxxxx.com", referrer: "https://www.xxxxx.com/copy"

这在使用Apache而不是Nginx的开发机器上运行得很好,所以它肯定是Nginx / PHP配置引起的。我也在现场网站上运行Cloudflare,所以我不知道这是否会产生任何影响?

有没有人有任何想法,我可以尝试下一步来解决这个问题?

1 个答案:

答案 0 :(得分:0)

嗯,我找到了答案。看起来需要在4个不同的文件中进行调整。对于任何寻找相同内容的人来说,actual answer都是{{3}}。