502 Bad Gateway - Nginx, spawn-fcgi, WordPress
Я размещаю несколько сайтов на CentOS VPS, и все работало нормально, пока один из сайтов WordPress на сервере не начал возвращать 502 Bad Gateway
ошибка. Другие сайты работают нормально. Сайт WordPress будет загружаться, если я переименую каталог плагина BuddyPress, но я не уверен, как отладить то, что в этом плагине сейчас вызывает проблему (плагин работал ранее и не обновлялся). Точно такой же код / база данных будет работать правильно, используя мою локальную установку 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/"
/ вар / Журнал / сообщения
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
- даже разрешение 1 ГБ памяти имеет тот же эффект. Установить буферы 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 минут после публикации...