Ошибка 504 gateway time-out в nginx

  • Автор:
  • Опубликовано:
  • Изменено:
  • Просмотры: 395
  • Комментарии: 0
  • Рейтинг: 100,00%
  • Голосов: 2

Описание проблемы

Если, при выполнении какого-либо PHP приложения/скрипта/страницы, вы стали внезапно получать ошибку следующего содержания:

504 Gateway Time-out

nginx как веб-сервер

В случае использования nginx как веб-сервера, вы скорее всего столкнулись с php скриптом, выполнение которого занимает очень долгое время, в результате чего веб-сервер просто остановил его работу. Для того, чтобы исправить это, нужно сделать следующее:

Открываем конфиг сервера nginx, где прописаны параметры нужного вам хоста, и пишем туда следующую строку:

fastcgi_read_timeout 300;

В итоге должно получиться что-то примерно следующее:

location ~ \.php$ {
try_files $uri = 404;
include fastcgi_params;
fastcgi_pass unix:/run/php5-fpm.sock;
fastcgi_index index.php;

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
fastcgi_read_timeout 300;
}

nginx как прокси сервер

Если же вы используете nginx как прокси сервер, то копать нужно уже немного в другом направлении. Открываем конфиг, отвечающий за проксирование и добавляем туда следующее:

proxy_connect_timeout       600;
proxy_send_timeout          600;
proxy_read_timeout          600;
send_timeout                600;

После любых правок обязательно перезагружаем конфиг nginx:

systemctl reload nginx

или

nginx -s reload

Оценить статью

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)

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

Ваш e-mail не будет опубликован.