是什么导致nginx服务器上的此错误 – 502错误的网关

我在nginx服务器上有一个在Drupal 7中构建的站点.每周几次编辑任何内容并按保存,或者当我登录网站时,或者当我更改某些配置时,我会看到一个带有“502 Bad gateway”消息的白色屏幕.只有在登录并保存更改时,才会向匿名访问者显示错误.我做什么样的改变似乎并不重要.我可以按浏览器中的后退按钮,这会将我带回编辑屏幕并再次按保存,然后成功保存更改.

错误发生在今天早上08:09,所以我查看了PHP日志:

2016/10/20 08:09:00 [error] 20703#20703: *3297348 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 195.198.76.66, server: www.example.com, request: "POST /node/88/edit HTTP/1.1", upstream: "fastcgi://unix:/run/php/php-fpm.sock:", host: "www.example.com", referrer: "http://www.example.com/node/88/edit"

这是同一时间的nginx日志:

[20-Oct-2016 08:09:00] WARNING: [pool www0] child 10909, script '/srv/www/example/public_html/index.php' (request: "POST /index.php") execution timed out (8189.954999 sec), terminating
[20-Oct-2016 08:09:00] WARNING: [pool www0] child 10909 exited on signal 15 (SIGTERM) after 19080.476683 seconds from start
[20-Oct-2016 08:09:00] NOTICE: [pool www0] child 13002 started

谁能看到这里发生了什么?

最佳答案
我在使用nginx& amp;的设置上遇到了HTTP 502问题. PHP-FPM.似乎很多超时&必须根据数据传输时间修改限制.在这种情况下发生的事情是keepalive超时太短.

以下是一些可能有助于解决502问题的设置:

>在nginx.conf中:keepalive_timeout
>在站点的配置文件中(位于可用站点文件夹中):

> send_timeout
> fastcgi_connect_timeout
> fastcgi_send_timeout
> fastcgi_read_timeout

>在php.ini中:

> max_execution_time
> max_input_time

问题的真正根源可能是这些设置中的任何一个.

转载注明原文:是什么导致nginx服务器上的此错误 – 502错误的网关 - 代码日志