Drupal + Nginx + Php-cgi: 502 Ошибка плохого шлюза - PullRequest
7 голосов
/ 03 октября 2009

Мы запускаем Drupal 5.x на Nginx с помощью php-fastcgi. Некоторое время все работало нормально. Внезапно мы (пользователи) сталкиваемся с ошибкой 502 Bad Gateway. Перезапуск PHP-cgi, nginx .. перезагрузка машины и т. Д. Не помогли.

Кто-нибудь еще сталкивался с этим типом проблемы? Каковы возможные подозреваемые?

Ответы [ 8 ]

10 голосов
/ 12 июля 2012

Сегодня я получил «502 Bad Gateway» для проекта CI, после того, как покопался в проблеме, я обнаружил, что это проблема буферов nginx fastcgi, вот как это исправить: открыть /etc/nginx/nginx.conf

добавьте следующие строки в раздел http:

fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
3 голосов
/ 30 октября 2009

502 ошибки обычно возникают, когда PHP по какой-то причине сходит с ума. Первое, что вы должны сделать, это проверить все ваши файлы журналов. Сюда входят системные компоненты в / var / log / и журналы nginx.

Если вы не внесли каких-либо недавних изменений, и проблема только начала возникать без видимой причины, возможно, PHP не хватает памяти. Я знаю, что когда это происходит как модуль Apache, он дает пустой экран - не удивлюсь, если ошибка 502 произошла в nginx и интерфейсе FastCGI. Это легко исправить, поместив ini_set ('memory_limit', '256M') в ваш index.php и посмотрите, решит ли это проблему.

Кроме того, можете ли вы загружать отдельные PHP-файлы, в которых нет Drupal? Поместите put <? Php phpinfo (); ?> в файл с именем info.php, попробуйте нажать и посмотреть, что произойдет.

Удачи!

2 голосов
/ 08 декабря 2012

Я также получил эту ошибку, и в конце концов отключил все модули (неосновные) и включил их один за другим, чтобы посмотреть, что вызвало ошибку.

Вот простой способ отключить все неосновные модули .

0 голосов
/ 02 января 2015

Это потому, что вы, вероятно, обновились до PHP 5.5 и, следовательно, теперь вы используете кэш кода операции, который вы могли включить дважды. Это проверка php.ini, а также opcache.ini.

0 голосов
/ 24 апреля 2013

увеличьте ваш предел памяти, и это будет исправлено. ini_set ('memory_limit', '256M');

0 голосов
/ 13 октября 2010

Если у вас есть firePHP, отключите его. Большие заголовки вызывают проблемы при соединении nginx с php

0 голосов
/ 17 июля 2010

Если проблема только началась .. Читайте выше .. если сервер новый, просто настройте, попробуйте эту команду, чтобы увидеть, если он даже прослушивает его порт

netstat -lpn | grep ":9000"

Если, конечно, вы можете настроить fast-cgi для работы на другом порте, просто замените порт 9000 в этом операторе на какой-либо порт, который вы ищете. Если ничего не появляется, скорее всего, ничего не прослушивается. на этом порту, и вам нужно сначала решить эту проблему.

0 голосов
/ 04 октября 2009

Обычно, когда я сталкивался с этим, в PHP где-то произошла фатальная ошибка. Взгляните на ваш журнал PHP-cgi, чтобы увидеть, есть ли он там. В журнале nginx должно быть что-то вроде этого: 104: Connection reset by peer. В зависимости от вашей настройки это (извините, ссылка не работает) может помочь, но если вы используете php-fpm , это не поможет.

...