Ошибка 502 Bad Gateway – это частая проблема, связанная с веб-сервером Nginx и приложением PHP-FPM. Она происходит, когда происходит превышение максимального времени ожидания ответа от приложения PHP-FPM, и Nginx не может получить ответ. Существует несколько причин возникновения ошибки 502, но чаще всего это связано с перегрузками на сервере или с некорректной настройкой приложения.

Чтобы решить проблему, можно попробовать увеличить максимальное время ожидания ответа от PHP-FPM. Для этого необходимо изменить значение параметра request_terminate_timeout в конфигурационном файле php-fpm. Например:

request_terminate_timeout = 120

Значение 120 устанавливает время ожидания ответа в 2 минуты. После изменения параметров необходимо перезапустить сервис PHP-FPM.

Если проблема не решается, необходимо проверить настройки сервера и управляющей программы PHP-FPM, а также наличие места на жестком диске сервера. Необходимо также проверить наличие настройки pm.max_children в php-fpm и соответствующие ресурсы, такие как RAM.

Если ничего из вышеперечисленного не помогает, можно попробовать увеличить количество потоков PHP-FPM. Каждый поток PHP-FPM обрабатывает один запрос, поэтому увеличение количества потоков может улучшить производительность приложения.

В целом, для решения проблемы “502 Bad Gateway сайт медленно открывается на php-fpm — failed (11: Resource temporarily unavailable)” в Nginx и PHP-FPM, необходимо тщательно проверить настройки сервера и параметры конфигурации PHP-FPM. Если возникли сложности, можно обратиться за помощью к опытным администраторам или к сообществу Nginx и PHP-FPM.

Chapter 1. Симптомы

Chapter 2. Проблема

Не хватает оперативной памяти. Сайт находится по DDOS атакой или под сканированием ботами.

Chapter 3. Решение

Увеличить параметр в PHP-FPM

or

c

формула вычисления

PHP-FPM max_children следует повышать осторожно и постепенно, отслеживая использование swap.

Вы можете использовать формулу, подобную следующей:

pm.max_children = ((общий объем оперативной памяти в МБ) – (сколько MySQL и другие приложения занимают оперативной памяти)) / 80

Example

pm.max_children =(4000 – 1500) / 80 = 31.25

до

 

Ошибка NGINX — 11: Resource temporarily unavailable — На связке NGINX + PHP-FPM через unix socket

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.