Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

HTTP_502_BAD_GATEWAY Linux / DevOps

Ошибка 502 Bad Gateway в Nginx: причины и быстрое решение

Обновлено: 27.08.2026 · Официальная документация ↗

Что означает ошибка 502 Bad Gateway?

Код ответа 502 Bad Gateway означает, что фронтенд веб-сервер Nginx работает штатно, но бэкенд (сервер приложений, обрабатывающий код сайта — PHP-FPM, Node.js, Python/Gunicorn) упал, выключен или не отвечает на запросы.

Алгоритм устранения ошибки 502

  1. Проверьте лог ошибок Nginx для выявления точной причины:
    sudo tail -n 20 /var/log/nginx/error.log
  2. Случай А: Упала служба PHP-FPM (самая частая причина):

    Проверьте статус и запустите PHP-FPM заново (подставьте вашу версию PHP):

    # Проверка статуса:
    sudo systemctl status php8.2-fpm
    
    # Перезапуск службы:
    sudo systemctl restart php8.2-fpm
  3. Случай Б: Неправильный путь к сокету в конфигурации Nginx:

    Откройте конфиг сайта sudo nano /etc/nginx/sites-available/mysite.conf и проверьте блок fastcgi_pass. Путь должен точно совпадать с установленной версией:

    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
  4. Случай В: Упало приложение Node.js / Python:

    Перезапустите ваш процесс-менеджер (например, PM2 или службу systemd):

    pm2 restart all
    # или
    sudo systemctl restart gunicorn
  5. Примените настройки веб-сервера:
    sudo nginx -t && sudo systemctl reload nginx

Нехватка оперативной памяти (OOM Killer): Если PHP-FPM падает регулярно при наплыве посетителей, проверьте системный лог: sudo dmesg -T | grep -i oom. Возможно, процесс был убит ядром из-за нехватки RAM.

💡 Практика специалистов: Если 502 ошибка возникает периодически под нагрузкой, увеличьте параметр pm.max_children в пуле /etc/php/X.X/fpm/pool.d/www.conf, так как стандартных 5 процессов часто не хватает для трафика.

Частые вопросы (FAQ)

В чем отличие ошибки 502 от 504 Gateway Time-out?

Ошибка 502 означает, что бэкенд мгновенно вернул ошибку или вообще не запущен (connection refused). Ошибка 504 означает, что бэкенд запущен, но выполнял тяжелый скрипт слишком долго и превысил лимит ожидания.

Как узнать, какая именно версия PHP-FPM установлена на сервере?

Выполните команду: ls /run/php/ или dpkg -l | grep php.*fpm.

Что делать, если в логах Nginx ошибка connect() to unix:/... failed (13: Permission denied)?

У веб-сервера Nginx нет прав на чтение сокета. Убедитесь, что в файле /etc/php/X.X/fpm/pool.d/www.conf раскомментированы строки listen.owner = www-data и listen.group = www-data.

Как перезапустить сразу все версии PHP на сервере?

Выполните команду: sudo systemctl restart php*-fpm.

Полезные материалы
Рекомендуем