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

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

Если, при выполнении какого-либо 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

Комментарии

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *