Thank you for reading this post, don't forget to subscribe!
Ошибка 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 может возникнуть в случае, если используется сокет и к нему нет доступа:
1 |
[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):
1 2 3 |
listen = /tmp/php5-fpm.sock listen.owner = <b>www-data</b> listen.group = <b>www-data</b> |