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

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

Перенести базы PostgreSQL на другой диск Windows

Если у вас установлен Postgres в конфигурации по умолчанию, то его базы хранятся в Program Files. Если есть необходимость освободить место на системном диске C, то можно перенести базы данных Postgres на другой диск.

Как в OctoberCMS сделать простейшую переадресацию с одной страницы на другую?

Создаём страницу (Page), задаем URL и в секции код добавляем обработчик на хук жизненного цикла страницы. В данном случае это onStart, которая выполняется перед началом загрузки страницы.

function onStart()
{
    return Redirect::to('http://tyapk.ru');
}

Windows 10. Меню пуск не открывается

В статье рассказывается как в операционной системе Windows 10 починить меню пуск, которое не открывается. Проблема решается с помощью переустановки Windows Apps.