504 Gateway Timeout (time out) nginx.
Решение
504 Gateway Timeout - в переводе с английского
языка на русский язык, означает время ответа шлюза вышло, шлюз не
отвечает. Ошибка зачастую возникает на серверах с установленным nginx в качестве фронтенда и Apache в качестве бэкенда. Пользователи сервера чаще всего думают, что суть проблемы заключается в nginx, но на самом деле это не так. О причинах появления ошибки. Одной из основных причин является возрастание нагрузки на сайт, при которой количество запросов к серверу apache возрастает до критического значения и новые запросы стают в очередь. В связи с этим время на поступление к обработке запросов (которые попали в очередь) больше, чем установлено в конфигурации сервера. Запрос не успевает попасть на обработку и соединение сбрасывается. Для решения проблемы: 1. Увеличить ресурс сервера, оперативную память, процессор. В большинстве случаев решает проблему, но часто необходимо предпринимать с решением 3. 2. Увеличить количество одновременных процессов apache и лимит времени в конфигурации nginx. Не рекомендовано предпринимать без 1 и 3 пунктов, возможны еще большие проблемы. 3. Провести оптимизацию работы скриптов. Возможно, как самостоятельное решение. 4. В конфигурации nginx увеличить время ожидания
исполнения скрипта:
proxy_read_timeout 120;
proxy_connect_timeout 120; Существует еще одна распространенная причина. Скрипт требует значительно больше времени на его обработку, чем отведено сервером. К примеру производит импорт большого количества данных, делает удаленные подключения. Причин может быть много. Для решения проблемы: Можно увеличить значение PHP max_execution_time или оптимизировать работу скрипта. Прошу заметить, что сильное увеличение max_execution_time может привести к возникновению первой причины появления ошибки 504 которая описана выше. Вышеуказанные решения не являются единственными, а только часто используемыми. К каждой проблеме необходим индивидуальный подход.
Интернет Хостинг Центр
Поиск
Свойства статьи