502 错误网关 - Nginx、spawn-fcgi、WordPress

502 错误网关 - Nginx、spawn-fcgi、WordPress

我在 CentOS VPS 上托管了几个网站,一切都运行良好,直到服务器上的一个 WordPress 网站开始返回错误502 Bad Gateway。其他网站运行良好。如果我重命名 BuddyPress 插件目录,WordPress 网站将会加载,但我不确定如何调试此插件中现在导致问题的是什么(该插件以前可以正常工作,但尚未更新)。使用我的本地 Apache 安装,完全相同的代码/数据库将正常工作,因此它似乎特定于服务器配置。不使用此插件不是一个选项,所以我的问题更多是关于如何调试服务器配置。

我的配置:

  • 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/消息

    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
    

我尝试过的事情:

  • 已验证 spawn-fcgi 正在运行并响应请求(其他站点正常运行)
  • 增加 PHP 内存 — php.ini— 即使允许 1GB 内存也有同样的效果。
  • 设置 fastcgi 缓冲区nginx.conf

    fastcgi_buffering               on;
    fastcgi_buffers                 8 16k;
    fastcgi_buffer_size             32k;
    

答案1

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 分钟就解决了这个问题......

相关内容