Новаком
Главная/Блог/ОШИБКА-502
ОШИБКА-502

Ошибка 502 Bad Gateway: причины и пошаговое исправление за 2 минуты на Nginx, PHP-FPM, Битрикс и WordPress

Полное руководство по устранению ошибки 502 Bad Gateway: почему падает PHP-FPM, как настроить буферы и тайм-ауты в Nginx, решение проблем на 1С-Битрикс и WordPress, готовые bash-команды реанимации сервера и автоматический мониторинг доступности.

ЯА
Яковлев Александр
2026-10-21 · 10 минут чтения

Содержание

По статистике Яндекс Вордстат, запрос «502 bad gateway» и «ошибка 502» вводят в поиск более 50 000 раз в месяц (из них свыше 13 700 раз — строго в точной формулировке в момент аварии).

Если на вашем сайте прямо сейчас горит белая страница с надписью «502 Bad Gateway nginx», это означает, что входящий веб-сервер (Nginx) работает штатно, но не может получить валидный ответ от внутреннего бэкенда (PHP-FPM, Apache, Node.js или базы данных MySQL).

В этом экспресс-руководстве мы разберем готовый чек-лист команд, которые поднимут сайт за 2 минуты.


Что означает ошибка 502 Bad Gateway на самом деле

Архитектура 95% современных сайтов устроена по двухзвенной схеме:

  1. Фронтенд-прокси (Nginx): Принимает входящие запросы от браузеров, держит SSL-сертификат, сжимает статику (картинки, CSS, JS).
  2. Апстрим (Upstream / Бэкенд): PHP-FPM или Gunicorn, который выполняет скрипты CMS (1С-Битрикс, WordPress) и делает запросы к БД.
Браузер клиента ──(HTTPS)──> [ Nginx ] ──(Unix Socket / FastCGI)──> [ PHP-FPM ] ──> [ MySQL / PostgreSQL ]
                                  │                                       │
                                  └─── ❌ Ошибка 502 Bad Gateway ─────────┘
                                       (Nginx не дождался ответа или сокет закрыт)

Ошибка 502 возникает в двух случаях:

  1. Служба PHP-FPM упала (или была убита OOM-killer из-за нехватки оперативной памяти) — сокет недоступен.
  2. Скрипт выполнялся слишком долго (тяжелая выгрузка каталога 1С, экспорт товаров) и превысил допустимый тайм-аут ожидания в Nginx.

Экспресс-реанимация сервера: 4 команды для терминала

Если у вас есть SSH-доступ к серверу (Ubuntu/Debian), выполните эти 4 команды по очереди:

1. Проверяем статус и перезапускаем службу PHP

# Определяем работающую версию PHP и перезапускаем FPM
sudo systemctl restart php*-fpm || sudo service php8.2-fpm restart || sudo service php8.1-fpm restart || sudo service php7.4-fpm restart

# Для серверов с панелью BitrixVM:
sudo systemctl restart httpd || sudo systemctl restart apache2

2. Проверяем свободное место на диске

df -h /

Внимание: Если в колонке Use% стоит 100%, сервер не может создать сокет-файл сессии и отдает 502. Немедленно очистите логи: sudo journalctl --vacuum-size=100M && sudo truncate -s 0 /var/log/nginx/*error.log.

3. Проверяем статус базы данных MySQL / MariaDB

sudo systemctl status mysql || sudo systemctl status mariadb
# Если служба Inactive/Failed:
sudo systemctl restart mysql

4. Перезагружаем Nginx с проверкой конфигурации

sudo nginx -t && sudo systemctl reload nginx

В 75% случаев этих четырех действий достаточно, чтобы сайт мгновенно ожил.


Причина №1: Упал или завис пул процессов PHP-FPM

Наиболее частая причина 502 ошибки под нагрузкой — исчерпание лимита процессов PHP.

Когда на сайт заходит рекламный трафик, каждый посетитель занимает один рабочий процесс PHP. Если в файле конфигурации пула установлено слишком маленькое значение pm.max_children, входящие запросы выстраиваются в очередь. Когда очередь переполняется, Nginx разрывает соединение с ошибкой 502.

Как исправить:

Откройте файл конфигурации пула (например, /etc/php/8.2/fpm/pool.d/www.conf):

[www]
pm = dynamic
; Увеличьте количество дочерних процессов в зависимости от объема RAM сервера
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
; Принудительный перезапуск процесса после 500 запросов (защита от утечек памяти)
pm.max_requests = 500

После правки перезапустите PHP: sudo systemctl restart php8.2-fpm.


Причина №2: Переполнение диска сервером логов

Когда на диске заканчивается место (0 байт свободно), операционная система блокирует создание временных файлов /tmp и Unix-сокетов /run/php/php-fpm.sock. В результате Nginx пишет в error.log:

connect() to unix:/var/run/php/php8.2-fpm.sock failed (2: No such file or directory) while connecting to upstream

Быстрая очистка:

# Удалить старые системные архивы логов
sudo rm -rf /var/log/*.gz /var/log/*.[0-9]
# Очистить временную директорию
sudo rm -rf /tmp/*
# Проверить, освободилось ли место
df -h /

Причина №3: Тайм-ауты и буферы Nginx (proxy_timeout)

Если 502 ошибка возникает только при определенных действиях (например, фильтрация в каталоге, экспорт в Excel или сохранение заказа в админке), скрипт упирается в лимиты времени ожидания FastCGI.

В файле /etc/nginx/nginx.conf или блоке location ~ \.php$ вашего сайта добавьте:

location ~ \.php$ {
    include fastcgi_params;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    # Увеличение тайм-аутов для тяжелых скриптов (в секундах)
    fastcgi_connect_timeout 300s;
    fastcgi_send_timeout 300s;
    fastcgi_read_timeout 300s;

    # Увеличение буферов FastCGI
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 256k;
    fastcgi_busy_buffers_size 256k;
}

Проверьте синтаксис sudo nginx -t и примените: sudo systemctl reload nginx.


Особенности 502 ошибки на 1С-Битрикс и WordPress

1С-Битрикс (BitrixVM)

На виртуальной машине BitrixVM связка работает через Apache на бэкенде: Nginx (порт 80/443) -> Apache httpd (порт 8080). Если вы видите 502 на Битриксе:

  1. Чаще всего завис Apache: systemctl restart httpd.
  2. Зависла сессия в таблице b_security_session: проверьте свободное место в MySQL.
  3. Ошибка соединения с Redis/Memcached (если включено кеширование в памяти): перезапустите сервис systemctl restart redis.

WordPress (WooCommerce)

На WordPress 502 ошибку часто провоцирует конфликт обновлений плагинов. Если сайт упал после нажатия «Обновить плагин»:

  1. Перейдите в консоли в папку плагинов: cd /var/www/site.ru/wp-content/.
  2. Временно переименуйте папку: mv plugins plugins_old.
  3. Если сайт заработал — возвращайте плагины по одному, чтобы локализовать проблемный.

Как исключить ошибку 502 навсегда: автопилот Novacom за 990 ₽/мес

Аварии на сайтах обычно происходят в самое неподходящее время: в пятницу вечером, на выходных или во время запуска рекламы, когда живые программисты недоступны.

Автономный ИИ-вебмастер Novacom берет сайт на круглосуточную страховку:

  • Мониторинг 24/7 каждые 60 секунд: Агент постоянно замеряет код ответа. При появлении ошибки 502 или падении ответа время реакции составляет 12 секунд.
  • Автоматическая реанимация служб: Агент автоматически подключается к серверу, очищает забитый логами диск, перезапускает пул PHP-FPM и восстанавливает работу сайта без вашего участия.
  • Отчет в Telegram: Через 15 секунд после инцидента вы получаете уведомление: «Сайт восстановил работу. Причина: зависание пула PHP-FPM устранена».

Проверьте здоровье вашего сайта прямо сейчас:

На главной странице novacom.ru доступен бесплатный экспресс-сканер: введите домен и узнайте текущее состояние SSL, кодов ответов сервера и скрытых технических ошибок.

РАЗРАБОТКА

Нужна похожая задача?

Обсудим вашу задачу и предложим решение за 30 минут.

Обсудить проект →
ЧИТАЙТЕ ДАЛЬШЕ

Похожие материалы.

ИИ-АГЕНТ-ДЛЯ-САЙТА

ИИ-агент для технической поддержки и мониторинга сайтов: как автоматизировать вебмастеринг за 990 ₽ в месяц

Разбор архитектуры автономного ИИ-вебмастера для сайтов на 1С-Битрикс и WordPress: 24/7 мониторинг доступности, продление SSL, автоисправление 301-редиректов и ошибок PHP, E2E автотесты Playwright и реальная экономика по сравнению со штатным сисадмином.

2026-10-21 · 12 мин
ОШИБКА-504

Ошибки 504 Gateway Time-out, 500 Internal Server и 403 Forbidden: причины и как быстро исправить сайт

Технический разбор серверных ошибок 504 Gateway Timeout, 500 Internal Server Error и 403 Forbidden: пошаговый поиск причин в логах Nginx и Apache, увеличение лимитов max_execution_time и memory_limit в PHP, исправление прав доступа chmod/chown и автомониторинг.

2026-10-21 · 11 мин
РАЗРАБОТКА-ИИ-АГЕНТОВ

Разработка ИИ-агентов под ключ: как подключить AI к 1С, CRM и базам данных через MCP в 2026 году

Полное руководство по разработке и внедрению ИИ-агентов для бизнеса: архитектура ReAct, Model Context Protocol (MCP) для 1С:Предприятие 8.3, безопасность данных по 152-ФЗ, выбор локальных LLM и честный расчет стоимости разработки под ключ.

2026-10-21 · 14 мин