我在CentOS VPS上托pipe了几个站点,并且一切正常,直到服务器上的一个WordPress站点开始返回502 Bad Gateway错误。 其他网站工作正常。 如果我重命名BuddyPress插件目录,WordPress网站将加载,但我不确定如何debugging此插件现在导致问题(该插件以前工作,并没有更新)。 完全相同的代码/数据库将正确使用我的本地Apache安装,所以它似乎是特定于服务器configuration。 不使用这个插件是不是一个选项,所以我的问题是更多关于如何debugging服务器configuration。
我的configuration:
CentOS 5.10 Nginx 1.60 PHP 5.5 spawn-fcgi 1.6.3 错误:
浏览器
502 Bad Gateway nginx/1.6.0
Nginx / PHP错误日志
2014/06/28 19:40:13 [error] 8146#0: *22994 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 127.0.0.1, server: *.example.com, request: "GET / HTTP/1.0", upstream: "fastcgi://127.0.0.1:53217", host: "www.example.com" 2014/06/28 19:40:14 [error] 8146#0: *22980 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 123.123.123.123, server: *.example.com, request: "GET /about/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:53217", host: "www.example.com", referrer: "https://www.example.com/about/"
在/ var / log / messages中
Jun 28 19:40:13 web1 kernel: php-cgi[27053]: segfault at 000000000000002c rip 00000000005bc798 rsp 00007fffc73f0ae0 error 4 Jun 28 19:40:13 web1 kernel: php-cgi[10559]: segfault at 000000000000002c rip 00000000005bc798 rsp 00007fffc73f0ae0 error 4 Jun 28 19:40:14 web1 kernel: php-cgi[17410] general protection rip:5bc798 rsp:7fffc73f0ae0 error:0
我试过的东西:
php.ini增加了PHP内存 – 甚至允许1GB的内存具有相同的效果。 在nginx.conf设置fastcgi缓冲区
fastcgi_buffering on; fastcgi_buffers 8 16k; fastcgi_buffer_size 32k;
我最终通过在nginx.conf为PHP文件设置了以下值来解决这个问题。 proxy_*条目似乎有窍门。
proxy_buffer_size 128k; proxy_buffers 4 256k proxy_busy_buffers_size 256k; fastcgi_buffering on; fastcgi_buffer_size 16k; fastcgi_buffers 16 16k;
当然,经过几天的斗争之后,我在发布后不到10分钟就解决了问题。