Ошибка 502 bad gateway в Nginx
Ошибка 502 Bad Gateway означает, что Nginx не может получить ответ от какого-то сервиса. Gateway означает, что ошибка произошла не внутри самого сервера, а где-то на уровне связи между ним и другой программой.
Что это значит?
Часто Nginx работает в паре с каким-либо другим приложением:
- В паре с Apache и используется, как прокси сервер.
- Вместе с PHP-FPM для обработки PHP запросов.
- Вместе с другим сервисом (например, Varnish либо Memcache).
Причины ошибки Nginx 502
Наиболее частые причины возникновения ошибки bad gateway:
- Какой-то из сервисов просто выключен. Необходимо перезапустить Apache, PHP-FPM либо другой сервис, с которым работает Nginx.
- Какой-то из сервисов недоступен по сети. Если Nginx находится на одном сервере, а PHP-FPM или Apache на другом, то ошибка 502 может возникнуть, если между серверами нет связи. Сделайте ping и убедитесь, что проблемы нет.
PHP-FPM
Для PHP-FPM также ошибка 502 Bad Gateway может возникнуть в случае, если используется сокет и к нему нет доступа:
[crit] 2963#0: *138 connect() to unix:/tmp/php5-fpm.sock failed (13: Permission denied) while connecting to upstream
В этом случае, убедитесь, что php-fpm сокет создается с нужными правами. В файле настроек fpm (/etc/php-fpm.d/www.conf):
listen = /tmp/php5-fpm.sock listen.owner = www-data listen.group = www-data
Этот текст был написан несколько лет назад. С тех пор упомянутые здесь инструменты и софт могли получить обновления. Пожалуйста, проверяйте их актуальность.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: