Ошибка 504 Gateway Timeout (time out) nginx. Как исправить

Часто наблюдаю этот вопрос, посему ответ:

504 - значит скрипт (бэкенд) слишком долго отвечал или скрипт завершается раньше, чем получен ответ.
Причин может быть много: недостаток ресурсов (чаще всего - оперативной памяти), кривые скрипты, проблемы с базой данных и файловой системой, кривая настройка сервера...

Увеличение количества ресурсов и смена тех.площадки часто в таких случаях являются только отсрочкой проблем (до увеличения посещаемости).

Чаще всего проблему следует решать оптимизацией скриптов, оптимизацией сервера (кэширование, тонкая настройка и т.п.) или увеличением ресурсов сервера (если проект уже перерос возможности текущего хостинга).

Но для работы некоторых скриптов действительно требуется увеличение времени ожидания и выполнения (это скорее исключение из правил).
Увеличение времени ожидания nginx при проксировании:
Для изменения времени ожидания в конфиг надо добавить следующие параметры (лучше вставлять в контекст location):

proxy_send_timeout 60; # время ожидания при передаче запроса
proxy_read_timeout 60; # время ожидания при чтении ответа

Время указывается в секундах, по-умолчанию 60, т.е. 1 минута.

Но будьте готовы, что не каждый хостер пойдёт на это, т.к. увеличение лимитов = увеличение расхода ресурсов.

Метки:

# | анонимус (?)

анонимус аватар

вот проблема и эта ошибка:
пытаюсь загрузить фотографии на фотоконкурс, но появляется эта ошибка 504.
вопрос заключается в том, что эта ошибка на от меня зависит или от сервера, на который я выкладываю фото?

16 Июль, 2011 - 12:52

# | Максим (?)

анонимус аватар

Приветствую,
Если у вас данная ошибка возникает при загрузке файлов, либо при очень большом кол-ве файлов, то реально помогает прописывание строчек файле nginx.conf (соот-но открыть с помощью блокнота, данный файл обычно расположен /etc/nginx) , т.е. в файле находим ПЕРВУЮ строчку " proxy_set_header X-Real-IP $remote_addr; ", затем по дней прописываем два нужных параметра :
proxy_send_timeout 60; -время ожидания при передаче запроса
proxy_read_timeout 60; -время ожидания при чтении ответа

(60 сек. увеличиваем до нужного значения, мне потребовалось увеличить до 179 сек.) ОБЯЗАТЕЛЬНО ПЕРЕЗАГРУЖАЕМ СЕРВАК и всё готово работаем!

11 Март, 2012 - 04:43

# | Весельчак (?)

анонимус аватар

Спасибо за более подробное описание, из статьи не ясно в какой файл залазить.

19 Март, 2012 - 19:40

# | Antonio (?)

анонимус аватар

Сервак как раз перезагружать НЕ обязательно, а и вообще не нужно.
Достаточно чтобы nginx перечитал конфиг

например во FreeBSD это можно сделать так
/usr/local/etc/rc.d/nginx reload

11 Апрель, 2012 - 13:22

# | Akakiy (?)

анонимус аватар

Здравствуйте. Просвятите меня пожалуйста. Я являюсь куратором на одном форуме. Хотел бы добавить один пост с большим содержанием ссылок и информации. Но постоянно возникает ошибка 504 (nginx). Почитал я про него и понял, что возможно увеличить диапазон времени, чтобы апач вернул ответ. Но как это сделать? Или это можно сделать только тем, кто создал свой сервер? Спасибо за ответ.

14 Май, 2012 - 11:54

# | teerex

teerex аватар

см. ответ ниже
либо оптимизировать скрипт,
либо уговорить хостера увеличить время,
либо перейти к другому хостеру/тариф, где времени хватает
либо действительно взять свой сервер и там настроить как угодно (не самый лучший вариант, если у вас нет навыков или возможности привлечь проф. системного администратора)

3 Ноябрь, 2012 - 19:30

# | Саня (?)

анонимус аватар

не могу зайти в контакт

25 Май, 2012 - 23:18

# | Владимир Сальников (?)

анонимус аватар

Привет, Данил!

У меня блог на движке wordpress. Ошибка 504 возникакет при сохранении новых постов.
Администрация мого хостинга помочь не хочет. Предлагая перейти мне на другой тарифный план.
Подскажи пжл, в какой именно файл на хостинге надо внести эти строки:

proxy_send_timeout 60; # время ожидания при передаче запроса
proxy_read_timeout 60; # время ожидания при чтении ответа

14 Октябрь, 2012 - 17:00

# | teerex

teerex аватар

Скорее всего хостинг настроен так, что эти изменения надо вносить в nginx.conf
Если это виртуальный (shared) хостинг - наверняка пользователям не разрешено вносить изменения в этот файл.

Варианты на shared-хостинге:
1) разобраться со скриптом, почему так долго отрабатывает. Если проблема в нехватке ресурсов (что вероятнее всего) - в первую очередь включить использование кэширования в скрипте (см. APC, eaccelerator, memcached, файловый кэш, спросите и хостера поддерживают ли они кэширование)
2) сменить тариф
3) сменить хостера

3 Ноябрь, 2012 - 19:22

# | Олег (?)

анонимус аватар

Здравствуй, Даниил! Не могу даже открыть свой блог, где и так мало информации. Тем более не могу добавить новую информацию. Блог на blog.ru Та же ошибка 504. Может сделать блог в другом поисковике? Срывается важное мероприятие. Можете выслать на почту подробную инструкцию что делать?

13 Январь, 2015 - 01:39

# | Лена Кулакова (?)

анонимус аватар

Добрый вечер!Не могу зайти на сайт-"Одноклассники"-ошибка504 Gateway Timeout? В другие соц. сети захожу без проблем) Выше сказано причины:не достаточно ресурсов оперативной памяти, проблема с базой данных, кривая настройка сервера.Скорее это моя причина! Как сделать-оптимизацию скрипов, сервера по шаговое? Я живу далеко от цивилизации и нет специалистов -компьютерщиков по близости...помогите, очень прошу...научите))) С уважением Елена Кулакова.

4 Апрель, 2015 - 21:01

# | анонимус (?)

анонимус аватар

ыцыыцыы

3 Февраль, 2016 - 14:33

# | анонимус (?)

анонимус аватар

ууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууууаааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааамммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммммссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссссс

3 Февраль, 2016 - 14:35

Оставить комментарий

Содержание этого поля является приватным и не предназначено к показу. Если есть аккаунт Gravatar, то отображается глобальный аватар.

Подробнее о форматировании

КАПЧА
А ты не робот? Введи 5 цифр
                                                                        
ad88888ba 8888888888 ,d8 ad888888b, ad88888ba
d8" "88 88 ,d888 d8" "88 d8" "8b
8P 88 88 ____ ,d8" 88 a8P Y8a a8P
Y8, ,d88 88a8PPPP8b, ,d8" 88 ,d8P" "Y8aaa8P"
"PPPPPP"88 PP" `8b ,d8" 88 a8P" ,d8"""8b,
8P d8 8888888888888 a8P' d8" "8b
8b, a8P Y8a a8P 88 d8" Y8a a8P
`"Y8888P' "Y88888P" 88 88888888888 "Y88888P"

Enter the code depicted in ASCII art style.
To prevent automated spam submissions leave this field empty.