504 gateway time-out nginx

<html> 
<head>
    <title>504 Gateway Time-out</title>
</head> 
<body bgcolor="white"> 
    <center><h1>504 Gateway Time-out</h1></center>
    <hr>
    <center>nginx</center> 
</body> 
</html> 
<!-- a padding to disable MSIE and Chrome friendly error page --> 
<!-- a padding to disable MSIE and Chrome friendly error page --> 
<!-- a padding to disable MSIE and Chrome friendly error page --> 
<!-- a padding to disable MSIE and Chrome friendly error page --> 
<!-- a padding to disable MSIE and Chrome friendly error page --> 
<!-- a padding to disable MSIE and Chrome friendly error page -->

Когда Nginx не получает ответ за выделенное время происходит ошибка 504 gateway time-out (Время вышло). Есть 2 основных случая, когда это происходит.

Nginx обслуживает другой web сервер

Наиболее распростанена связка с Apache. Чтобы увеличить время ожидания при проксировании, необходимо изменить следующие параметры:

server {
...
    proxy_connect_timeout 300;
    proxy_send_timeout    300;
    proxy_read_timeout    300;
    send_timeout          300;
...
}

Время ожидания будет равно 300 секундам.

Nginx обслуживает PHP-FPM

В это случае причиной является медленные PHP скрипты. Возможно это банальные ошибки или причина просто в "тяжёлой" операции или обращении к другому сайту, например за обновлениями. В любом случае, Nginx будет отдавать 504 ошибку когда он не дожидается ответа в течение установленного времени. Чтобы увеличить время ожидания следует изменить такие параметры:

location ~ \.php$ {
...
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
}

После изменение настроек, проверямся и перезагружаем nginx.

sudo nginx -t
sudo systemctl reload nginx

Похожие записи

Полезные горчие клавиши Youtube

При просмотре роликов бывает хочется немного ускорить воспроизведение, для этого есть функция "скорость видео" в настройках ролика. Чтобы её включить не задействуя мышь нужно нажать "Shift + >" или "Shift + <" для ускорения и замедления соответственно. И еще некоторые горячие клавиши youtube:

Как запускать shell (*.sh) скрипты?

Shell - это один из командных интерпретаторов, поставляемых вместе с ОС unix. Программа на языке Shell называется скриптом. Shell скрпитам указывают расширение *.sh и работают они в Unix системах. Если вам надо запустить shell скрипт в windows, то можно установить подсистему Linux Ubuntu или установить отдельно интерпретатор Shell для windows.