Ошибка 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 ad88888ba ad88888ba ,d8 ad88888ba
d8" "8b d8" "88 d8" "8b ,d888 d8" "88
Y8a a8P 8P 88 Y8a a8P ,d8" 88 8P 88
"Y8aaa8P" Y8, ,d88 "Y8aaa8P" ,d8" 88 Y8, ,d88
,d8"""8b, "PPPPPP"88 ,d8"""8b, ,d8" 88 "PPPPPP"88
d8" "8b 8P d8" "8b 8888888888888 8P
Y8a a8P 8b, a8P Y8a a8P 88 8b, a8P
"Y88888P" `"Y8888P' "Y88888P" 88 `"Y8888P'

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