502 Gateway inválido - Nginx, spawn-fcgi, WordPress

1

Eu hospedo vários sites em um VPS do CentOS, e tudo estava funcionando bem até que um dos sites do WordPress no servidor começou a retornar um erro 502 Bad Gateway . Outros sites funcionam bem. O site WordPress será carregado se eu renomear o diretório de plugins do BuddyPress, mas não tenho certeza sobre como depurar o que neste plug-in está causando agora um problema (o plug-in estava funcionando anteriormente e não foi atualizado). O mesmo código / banco de dados funcionará corretamente usando minha instalação local do Apache, portanto, ele parece ser específico para a configuração do servidor. Não usar este plugin não é uma opção, então minha pergunta é mais sobre como depurar a configuração do servidor.

Minha configuração:

  • CentOS 5.10
  • Nginx 1.60
  • PHP 5.5
  • spawn-fcgi 1.6.3

Erros:

  • Navegador

    502 Bad Gateway
    nginx/1.6.0
    
  • Log de erros do 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
    

Coisas que eu tentei:

  • O spawn-fcgi verificado está em execução e responde a solicitações (outros sites funcionam)
  • Aumento da memória do PHP em php.ini - mesmo permitindo 1GB de memória tem o mesmo efeito.
  • Defina buffers fastcgi em nginx.conf

    fastcgi_buffering               on;
    fastcgi_buffers                 8 16k;
    fastcgi_buffer_size             32k;
    
por doublesharp 29.06.2014 / 02:21

1 resposta

1

Eu finalmente consertei o problema definindo os seguintes valores em nginx.conf para arquivos PHP. As entradas proxy_* pareciam fazer o truque.

proxy_buffer_size               128k;
proxy_buffers                   4 256k
proxy_busy_buffers_size         256k;

fastcgi_buffering               on;
fastcgi_buffer_size             16k;
fastcgi_buffers                 16 16k;

Claro que depois de lutar por isso resolvi o problema menos de 10 minutos depois de postar ...

    
por 29.06.2014 / 02:29