502 Bad Gateway на Nginx + WordPress — как исправить | Мастерская — de-bor.ru

Частный web-мастер Денис Борисов
WordPress-сайтов

502 Bad Gateway на Nginx + WordPress — как исправить

Nginx и VPS · 2026-05-26 · обновлено 2026-05-28 · 5 мин чтения
502 Bad Gateway на WordPress под Nginx. Nginx жив, сайт отвечает — но не может достучаться до PHP-FPM. Сервер работает, а сайт лежит.

Где именно проблема

Nginx — это прокси. Он принимает HTTP-запрос и передаёт PHP-FPM. Если PHP-FPM молчит — Nginx показывает 502.

Четыре причины — от самой частой к редкой:

  1. PHP-FPM упал. Перезагрузка сервера, кончилась память, кривая конфигурация после обновления PHP.
  2. Сокет не совпадает. Nginx и PHP-FPM настроены на разные сокеты — частая проблема после переустановки PHP или смены версии (7.4 → 8.2).
  3. Таймаут. Скрипт выполняется дольше, чем настроено в request_terminate_timeout. Типично для WooCommerce, импорта, генерации отчётов.
  4. Перегруз. Все дочерние процессы PHP-FPM заняты. Новые запросы встают в очередь, Nginx отдаёт 502 не дожидаясь.

Диагностика

1. Жив ли PHP-FPM

systemctl status php8.2-fpm

Упал — запускаем: systemctl start php8.2-fpm. Не запускается — смотрим логи: tail -50 /var/log/php8.2-fpm.log. Если в логах cannot bind socket — порт занят другим процессом.

2. Сокет

Nginx должен стучаться туда же, где слушает PHP-FPM. Проверьте совпадение:

# В nginx (location ~ \.php$):
fastcgi_pass unix:/run/php/php8.2-fpm.sock;

# В PHP-FPM (/etc/php/8.2/fpm/pool.d/www.conf):
listen = /run/php/php8.2-fpm.sock

Несовпадение — самая частая причина 502 после переустановки PHP.

Права на сокет Nginx работает от www-data. Сокет должен быть доступен этому пользователю. Проверьте: ls -la /run/php/php8.2-fpm.sock. Владелец — www-data. Если нет — chown www-data:www-data /run/php/php8.2-fpm.sock.

3. Таймауты

502 появляется только на тяжёлых страницах (админка, WooCommerce-чекаут)? Добавьте в nginx:

fastcgi_read_timeout 300s;

И в PHP-FPM (www.conf):

request_terminate_timeout = 300s

4. Не хватает процессов

Если 502 возникает периодически в пиковые часы — PHP-FPM не справляется с нагрузкой. Проверьте настройки пула:

# /etc/php/8.2/fpm/pool.d/www.conf

pm = dynamic
pm.max_children = 20      # макс. процессов
pm.start_servers = 4       # стартует при запуске
pm.min_spare_servers = 2   # держит про запас
pm.max_spare_servers = 8   # не больше при простое

Ориентир: каждый PHP-FPM процесс потребляет 30-80 MB RAM. Если pm.max_children = 20 — нужно минимум 1.5 GB свободной памяти. На VPS с 2 GB RAM ставьте не больше 15.

Быстрый тест Создайте test.php с <?php phpinfo(); в корне сайта. Открывается — проблема в WordPress (тяжёлый плагин). Тоже 502 — проблема в связке Nginx + PHP-FPM. Это сразу отсекает половину гаданий.

Когда способ не сработает

  • 502 после перезагрузки сервера. PHP-FPM стартует позже Nginx и не успевает создать сокет. Решение: systemctl enable php8.2-fpm плюс перезапуск Nginx после старта PHP-FPM (ExecStartPost=/bin/sleep 2 && /usr/sbin/nginx -s reload в systemd-юните).
  • 502 при OOM (Out of Memory). Ядро убило PHP-FPM потому что RAM кончилась. Проверьте: dmesg | grep -i "killed process". Если там php-fpm — добавьте swap или RAM.
  • 504 вместо 502. Если ошибка 504 Gateway Timeout, а не 502 — проблема в таймауте. Те же исправления по таймаутам (шаг 3), но причина другая: ответ от PHP-FPM идёт слишком долго.

Частые вопросы

502 на одном сайте из нескольких — почему?
На этом сайте тяжёлый плагин съедает память. Отключите плагины через FTP, включайте по одному.
Периодическая 502 в пиковые часы.
Не хватает PHP-FPM процессов. Увеличьте pm.max_children. Следите за htop — если память в ноль, нужно больше RAM.
502 и 504 — в чём разница?
502 — PHP-FPM не ответил вообще (упал, сокет не совпадает, процессы кончились). 504 — PHP-FPM ответил, но слишком долго (таймаут). Диагностика разная: для 502 смотрите живой ли процесс, для 504 — увеличивайте таймауты.

Не получается найти причину?

Проверю сервер, php-fpm pool, таймауты и исправлю. Обычно хватает часа.

Написать в Написать в

Переезд сайта

Переезд сайта

Настрою сервер, SSL, бэкапы.

7.200

Подробнее
Техническая оптимизация

Техническая оптимизация

Серверный кэш, PHP-FPM, Nginx.

7.200

Подробнее
Меню раздела
Теги

Разрабатываю WordPress-сайты

Лендинги, многостраничные сайты, интернет-магазины на WooCommerce — всё на WordPress с удобной панелью управления.

Сайт под ключ: регистрация домена и хостинга, установка WordPress, настройка шаблона и модулей.

Поддерживаю WordPress-сайты

Обновление плагинов и тем, резервное копирование, мониторинг работоспособности — сайт работает без сбоев.

Оперативное исправление ошибок, создание новых разделов, доработка функционала и наполнение контентом.

Продвигаю WordPress-сайты

SEO-оптимизация, настройка Яндекс Метрики и Вебмастера, подключение Google Search Console.

Оптимизация позволяет «поднять» сайт в поисковых выдачах, увеличить целевой трафик и привлечь новых клиентов.

Чистка от вирусов WordPress

Если сайт взломали, появился подозрительный код или спам-рассылка — найду и удалю вредоносный код, закрою уязвимости и настрою защиту от повторного заражения.

После чистки проверю все файлы и плагины, обновлю WordPress до актуальной версии и настрою автоматическое резервное копирование.

Диагностика сайта

Проверю ваш сайт по ключевым параметрам и подготовлю отчёт с рекомендациями:

  • Скорость загрузки и производительность;
  • Безопасность и уязвимости;
  • SEO-состояние и индексация;
  • Мобильная адаптация;
  • Технические ошибки и код.
Заказать диагностику
Михайлова Анастасия

Денис МАСТЕР своего дела. Вёл целый проект, работали с ним на протяжении 4х месяцев. Отзывчивый, понимающий с полуслова специалист. Стоимость услуг радует, а качество работы приводит в восторг.

Денис спасибо Вам от лица нашей строительной компании и от всего нашего персонала.

Михайлова Анастасия
Игорь Караваев

Обратился к Денису для восстановления сайта на WordPress после сбоя. Сделал, как и обещал, за сутки — сайт снова работает без ошибок. Профессионал своего дела, доходчиво объясняет, вежлив и тактичен. Однозначно рекомендую!

Игорь Караваев
Яна Веркулич

Денис, спасибо огромное за работу)) Очень тепло вспоминаю Вас и все что Вы сделали для моей работы и моего сайта.

Денис Профессионал с большой буквы, решает любые вопросы, отличный специалист))

Рекомендую к сотрудничеству, еще раз спасибо)

Яна Веркулич
Бюро Переводов

Денис оперативно и грамотно справляется со всеми поставленными задачами. Внес правки на англоязычную и русскоязычную версии сайта, учел все пожелания. Будем обращаться еще!

Бюро Переводов
Анастасия Виричева

Денис мастер своего дела, рекомендую его как специалиста.
Понимает, что нужно сделать и справляется с поставленной задачей в короткое время.

Делал сайт для салона красоты, просто и функционально.

Анастасия Виричева
Владимир

Очень много времени мучались с сайтом на OpenCart. «Специалисты» не могли нормально разобраться в проблеме, возникавшей при выполнении элементарной задачи.

Денис сделал это в два счета, также расписал подробно, в чем была проблема и как она решена. На 200% доволен. Даже не хочется его рекомендовать, потому что будет постоянно занят))

Владимир
Ксения Петровская

Денис оперативно ответил и помог решить проблему, которую я даже описать нормально не могла)) Мы сами что-то накрутили с корпоративной почтой — письма то уходили, то нет, в общем всё сломали.

Денис всё починил, теперь у нас нормальная почта, домен работает, письма приходят и уходят. Цена как заявлена — оплатили по факту проверки. Спасибо большое!

Ксения Петровская
Александр Кривуля

Заказал у Дениса доработать сайт на WordPress. При этом трудно себе представлял, что сам хочу. Благодаря профессионализму Дениса и его умению всё грамотно и просто объяснять, предлагать разные варианты решений — цель была достигнута.

Умение общаться доходчиво и терпеливо с клиентами — огромный плюс. Я очень доволен. Однозначно рекомендую!

Александр Кривуля
Кондитер мания

Прекрасный специалист, ответил и устранил ошибку на сайте за пару часов, сохранила контакт, будем по необходимости обращаться. Рекомендую!

Кондитер мания

Бесплатная настройка хостинга и домена

Регистрация хостинга на 1 месяц и домена .ru/.рф на 1 год входит в стоимость разработки сайта.

Подробнее

Разрабатываю сайты для клиентов по всей России:

Показать все города