504 Gateway Time-out (nginx)

Kate

Administrator
Команда форума

Что такое ошибка 504 Gateway Time-out (nginx)?​

Ваш сайт находится на сервере (чаще всего Apache), когда вы хотите просмотреть сайт, то через браузер посылается запрос к серверу. Но этот запрос не сразу попадает на Apache, а сначала он приходит на nginx-сервер (своего рода распределитель запросов), а тот уже посылает его на Apache. Так вот, ошибка 504 Gateway Time-out обычно происходит из-за того, что сервер nginx передал запрос на Apache, но в течение определенного времени не получил от него ответ.
Ошибка 504 Gateway Time-out


Почему это происходит?​

Зачастую, данная ошибка является следствием большой нагрузки на сервер, в итоге Apache не успевает обрабатывать запросы, а nginx не дождавшись ответа, обрывает соединение и выдает в браузер пользователя сообщение об ошибке. Такая критичная нагрузка обычно происходит либо из-за огромного количества посетителей сайта, либо из-за тех процессов, которые происходят внутри самого сайта. В данном случае примером может служить любой скрипт на сайте, который выполняется слишком долго, приводя тем самым к Ошибке 504.

Как исправить ошибку 504?​

Слишком большое количество пользователей​

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

Неправильная работа сайта​

В этом случае нужно оптимизировать сайт, причем таким образом, чтобы работа скриптов укладывалась в отведенное время. Если для оптимизации нет возможности, то может помочь изменение параметра, который отвечает за максимальное время ожидания работы скрипта. Для этого в файле .htaccess нужно написать:
php_value max_execution_time N
Где N - это время ожидания в секундах, обычно по умолчанию оно равно 30 секунд. Но такая процедура помогает не у всех хостинг-провайдеров, и в таком случае следующим Вашим шагом должно стать обращение в службу поддержки или же смена хостинг-провайдера.

Источник статьи: https://ru.hostings.info/schools/504-gateway-time-out-nginx.html
 
Сверху