Ошибка 504 gateway time-out и её как исправить в wordpress
Содержание:
- Компания Solvusoft имеет репутацию лучшего в своем классе независимого поставщика программного обеспечения,
- Проблема с 504 все еще не устранена
- Что такое 504 gateway time-out
- 504 errors in the HTTP cycle
- Из-за чего появляется ошибка 504
- Как исправить 504 gateway time out Nginx
- Ошибка 504 Gateway Time-out Nginx — как устранить проблему
- Что означает ошибка 504 Gateway time out
- Что такое 504-я ошибка Gateway Timeout
- Как исправить 504 gateway time out Nginx
- Причины возникновения ошибки
- Ошибка 504 Gateway Timeout time out nginx. Как исправить. Хостинг в деталях
- Если на вашем сайте ошибка 504
- Решение ситуации
- Как исправить ошибку 504 если у вас VPS
Компания Solvusoft имеет репутацию лучшего в своем классе независимого поставщика программного обеспечения,
и признается корпорацией Microsoft в качестве ведущего независимого поставщика программного обеспечения, с высшим уровнем компетенции и качества. Близкие взаимоотношения компании Solvusoft с корпорацией Microsoft в качестве золотого партнера позволяют нам предлагать лучшие в своем классе решения, оптимизированные для работы с операционной системой Windows.
Как достигается золотой уровень компетенции?
Чтобы обеспечивать золотой уровень компетенции, компания Solvusoft производит независимый анализ,добиваясь высокого уровня опыта в работе с программным обеспечением, успешного обслуживания клиентов и первоклассной потребительской ценности. В качестве независимого разработчика ПО Solvusoft обеспечивает высочайший уровень удовлетворенности клиентов, предлагая программное обеспечение высшего класса и сервисные решения, постоянно проходящие строгие проверку и отбор со стороны корпорации Microsoft.
CLICK HERE to verify Solvusoft’s Microsoft Gold Certified Status with Microsoft >>
Проблема с 504 все еще не устранена
Установить необязательные продукты – WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление
Рекомендации:
Установить необязательные продукты – WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление
Об авторе: Джей Гитер () является президентом и генеральным директором корпорации Solvusoft — глобальной компании, занимающейся программным обеспечением и уделяющей основное внимание новаторским сервисным программам. Он всю жизнь страстно увлекался компьютерами и любит все, связанное с компьютерами, программным обеспечением и новыми технологиями
Что такое 504 gateway time-out
На самом деле, у каждого сайта есть свой HTTP. Это такой определённый доступ к сайту, который позволяет загружать из него любую информацию. Без разницы, что из себя представляет эта информация, сайт должен загрузиться сам. И чтобы он загрузился, нужно использовать браузер.
Но ведь бывает ошибка, которая имеет число 504. У неё есть несколько классификаций. Либо она возникает в случае, когда на сайте технические неполадки. Либо она возникает, когда не получается установить связь с сайтом. В нашем случае происходит именно ошибка номер два.
Почему мы так решили? Потому что «gateway time-out» означает, что вышло время на загрузку этого самого сайта. Странно, но как она возникает? Давайте разбираться.
Первая причина — нестабильное соединение с интернетом. Вы используете кабель, , что угодно. И интернет работает, но может быть и так, что связь крайне нестабильна и загрузить сайт на самом то деле не очень простая работа.
Приходится, конечно же, решать проблему. А может быть она как у Вас, так и у сайта. Либо у сайта какие-то проблемы, либо у Вашего провайдера. Проверьте ещё раз, есть ли у Вас интернет, попробуйте загрузить другие сайты. Если у Вас получилось это сделать без проблем, то проблема остаётся только лишь в самом сайте.
Он не даёт получить доступ из-за своей ограниченной скорости, что и приводит к негативным последствиям. Если же не грузят другие сайты так же, как и этот, то звоните своему провайдеру. Это его проблемы.
Вторая причина — неполадки на сайте. Да, мы упомянули их выше, но сейчас расскажем поподробнее. Что такое сайт? Это такая страница, которая позволяет содержать на себе абсолютно разную информацию. Будь то какие-то развлекательные или поучительные мотивы.
Всё равно, он должен загрузиться перед тем, как отображать информацию. Но может быть и так, что на сайте на данный момент есть проблемы, не позволяющие работать ему быстро. Поэтому отважная команда решила разобраться с проблемами и временно остановила его работу.
Или же не остановила, но в следствии ремонтных работ пропал сам сайт. Бывает и так. Так что не стоит переживать и винить сразу провайдера, может проблема на стороне самих создателей сайта.
Третья причина — нестабильная работа сайта. А вот этот пункт объединяет сразу два прежних. В него мы решили вместить ту информацию, без которой Вы не можете обойтись. Если сайт не грузит, то есть две причины.
Либо у него крайне нестабильная связь, либо он сам не грузит. И вот в том случае, когда у него плохая связь может быть так, что Вы открыли страницу. Вы активно ей пользуетесь, всё в порядке, а потом оп, и она снова выключается. Вернее, пропадает, будто и не работала.
Такая ситуация возникает часто, особенно на тех порталах, где об этом не предупреждают. Если Вы пользуетесь часто социальными сетями, то не удивляйтесь, что не открывается какая-то из вкладок. Может быть разработчики сайта на данный момент проводят какие-то ремонтные работы, которые привели к такому нестабильному состоянию сайта.
Все мы люди и все мы должны понимать, что не может быть в нашей жизни всё вечным. Приходится иногда выдавать все силы, чтобы получать нужный результат. А если это ещё и в ситуации, когда это относится к сайту, то может быть проблема и не такой уж простой.
На этом всё. Наша статья завершается на очень позитивной ноте. Мы сумели решить проблему легко и просто. Часто проблемы решаются лёгким путём, часто — не особо.
В этой статье мы подобрали лёгкие методы. Хотя это даже не методы, а скорее объяснение проблемы, которую нужно решать либо своими руками, либо руками других людей. Странно звучит, но это так. Мы благодарим Вас, уважаемого читателя за то, что Вы дочитали эту статью до конца.
Мы крайне надеемся, что она оказалась полезной для Вас, ведь описанная выше ошибка возникает часто, а как решать — не знает никто. Используйте эту статью в любой ситуации и у Вас никогда не будет проблем в дальнейшем.
К тому же, лучше узнать о проблеме от профессионалов, которые помогут решить её. Не нужно стараться сделать всё самому. Может быть, это будет очень плохим решением для Вас. Желаем Вам никогда больше не встречаться с такого рода проблемой и быть всегда на позитиве!
504 errors in the HTTP cycle
Any client (e.g. your Web browser or our CheckUpDown robot) goes through the following cycle when it communicates with the Web server:
- Obtain an IP address from the IP name of the site (the site URL without the leading ‘http://’). This lookup (conversion of IP name to IP address) is provided by domain name servers (DNSs).
- Open an IP socket connection to that IP address.
- Write an HTTP data stream through that socket.
- Receive an HTTP data stream back from the Web server in response. This data stream contains status codes whose values are determined by the HTTP protocol. Parse this data stream for status codes and other useful information.
Из-за чего появляется ошибка 504
Появление ошибки 504 характерно для серверов Apache в случае большой нагрузки. Такие сервера имеют особенность: при поступлении большого количества запросов они не успевают обрабатываться. Всем пользователям, у которых браузеры не получили HTTP-ответ от сервера, будет показана ошибка 504 Gateway Time-out.
Сталкиваясь с проблемой большой нагрузки, Apache не сразу начинает отдавать код 504. Сначала все запросы, которые не могут быть обработаны прямо сейчас, выстраиваются в очередь. При превышении лимита времени на ожидание HTTP-ответа соединение разрывается, и только тогда появляется ошибка. Со стороны пользователя сайт будет пытаться загрузиться несколько секунд, но фактически загрузка не начинается, поскольку сервер не отвечает.
Ошибка на стороне скриптов
Иногда код «504 Gateway Tme-out» вызывает не чрезмерная нагрузка, а неправильная настройка скриптов на сайте. Любому скрипту отводится определённый отрезок времени на выполнение. На практике, по ряду причин, этого времени скрипту может не хватить.
Обычно скриптам не хватает времени на загрузку в том случае, если они располагаются на стороннем сервере. В свою очередь, такие сервера очень часто сами находятся под огромной нагрузкой (из-за того, что сотни и тысячи сайтов при каждом заходе пользователей подгружают определённый код). Если отведённое время истекает, но скрипт так и не получает ответ от сервера, он также может выдать ошибку 504.
Задержка в процессе выполнения скриптов на сайте может вызываться и другими причинами:
- Если скрипту для работы необходимы внешние ресурсы (к примеру, база данных на стороннем сервере), которая на данный момент недоступна.
- Если скрипт работает не напрямую, а с установкой соединения через прокси-сервер. В случае недоступности прокси-сервера или превышения времени ожидания ответа скрипт также выдаст код 504.
- Скрипт загружает данные со сторонних серверов, которые на данный момент недоступны.
Как исправить 504 gateway time out Nginx
Веб-сервер Nginx часто работает не только в качестве самого веб-сервера для отдачи контента, но и в качестве прокси, когда он вступает только посредником. Такая ситуация наблюдается намного чаще, чем можно было бы ожидать. Например, при работе с php-fpm и другими модулями динамических языков.
Именно в таком режиме может наблюдаться ошибка 504 gateway time out Nginx. В нашей сегодняшней статье мы попытаемся разобраться почему она возникает и как с ней бороться. Разберем несколько способов решения и причин.
Что значит 504 gateway time out Nginx?
Как я уже сказал, такая ошибка возникает, когда сервер Nginx работает в режиме прокси. Например, при использовании php-fpm или Apache. Дословно, она означает, что превышено время ожидания ответа от сервера. В нашем случае, превышено время ожидания ответа от php-fpm. Рассмотрим несколько причин такого поведения:
- Скрипт PHP или на другом языке полностью завис и уже не вернет никакого ответа;
- Скрипт работает очень долго, но в Nginx настроен интервал на сброс соединения если целевой сервер не ответил на запрос за отведенный строк;
- Сервер перегружен и не успевает обслужить всех клиентов, вернуть ответы на все запросы Nginx;
Дальше рассмотрим что можно сделать если вы встретились с ошибкой 504 gateway time out Nginx.
Как исправить 504 gateway time out Nginx?
Самый первый вариант — это если вашему серверу, php-fpm или apache не хватает ресурсов системы, например, памяти или процессора. Вы можете посмотреть свободную память с помощью команды free:
free -h
Нагрузку на процессор можно узнать командой htop:
htop
Естественно, если вы видите, что PHP занимает все процессорное время, то значит проблема в ресурсах сервера. Вы можете покопаться в движке своего сайта, пытаться оптимизировать те или иные моменты, об этом будет отдельная статья или же взять более дорогой тариф VPS.
Второй вариант — это если так и было запланировано, чтобы скрипт работал долго. В таком случае нужно настроить Nginx, чтобы он дождался ответа от Apache или php-fpm. Для решения проблемы в случае с php-fpm нужно только добавить две строчки в блок настройки fastgci:
fastcgi_send_timeout 300;fastcgi_read_timeout 300;
Здесь 300 означает 300 секунд, для большинства скриптов, этого будет вполне достаточно, но вы можете еще больше увеличить значение если это нужно. Также ошибка 504 может возникать, когда Nginx используется в качестве прокси для Apache или любого другого веб-сервера, тогда нужно еще настроить время ожидания для прокси. Добавьте эти строки в секцию server:
proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600;
send_timeout 600;
Тут уже мы задаем таймаут 600 секунд для различных видов действий — подключения, отправки данных, чтения данных и так далее. После завершения настройки Nginx стоит перезапустить:
sudo systemctl restart nginx
Последний вариант, который мы рассмотрим — это скрипт завис. Если вы сами запускаете скрипт, то сразу увидите что зависло, но если такая ошибка встречается у пользователей, то это уже более серьезная проблема. Вы можете посмотреть встречаются ли вашим пользователям такие ошибки и где они встречаются с помощью команды:
fgrep -i » 504 » /var/log/nginx/access.log
Более подробную информацию иногда можно увидеть в error.log:
fgrep -i » 504 » /var/log/nginx/error.log
Дальше, если проблема именно в php-fpm, вы можете отследить какие скрипты выполняются медленно с помощью встроенной функции slow-log. Для ее активации добавьте следующие строки в конфигурацию вашего пула:
sudo vi /etc/php-fpm.d/www.conf
slowlog = /var/log/php-fpm/www-slow.logrequest_slowlog_timeout = 5s
Здесь 5 секунд, означает, что в лог файл будут добавляться скрипты, которые выполняются дольше пяти секунд. Вы можете менять это значение по своему усмотрению. В логе вы сможете увидеть не только сами скрипты, но и трассировку методов, которые привели к проблемам:
Дальше останется только разобраться что с этим делать, например, оптимизировать скрипты или отключить лишние плагины.
Выводы
В этой статье мы рассмотрели как исправить 504 gateway time out Nginx 1.2 7, а также почему может возникнуть эта ошибка. Надеюсь, эта информация была полезной для вас.
Ошибка 504 Gateway Time-out Nginx — как устранить проблему
25.01.2016
Интернет
При попытке зайти на сайт Вы получаете сообщение ошибка 504 с текстом «Gateway Time-out. Nginx«. Такое сообщение появляется, как правило, на тех сайтах, где веб-сервер Nginx работает как фронт-энд для сервера Apache. Что это значит?
Несмотря на то, что ошибка 504 выдаётся именно Nginx, причиной появления её он не является, а сообщает нам о том, что долго ждал ответа от Апача, но так его и не дождался. Обычно такое происходит в тех случаях, когда на сервере, где расположен сайт, очень высокая нагрузка и он не успевает обрабатывать все HTTP-запросы. Как это устранить?
Если Вы посетитель сайта. В там случае у Вас только один выход — ждать пока администрация веб-ресурса решит проблему у себя. Вы, как простой посетитель, ничего сделать не сможете. Просто с некоторой периодичностью (раз в 2-3 часа) просто пробуйте зайти на страничку. Чаше не надо! Коли там действительно превышена нагрузка, то вы будете только «подливать масло в огонь».
В тех случаях, когда надо срочно посмотреть содержимое странички, а она пишет «Error 504 Gateway Time-out» — можно воспользоваться кешированной версией, которая храниться в веб-кеше крупных поисковых сервисов — Яндекс и Гугл. Для этого достаточно ввести адрес страницы в строку поиска и в найденном результате выбрать вариант «Сохранённая копия».
Если Вы администратор сайта. В этом случае возможны два варианта:а) Вы арендуете VPS/VDS и имеете SSH-доступ к нему.
Начните с перезапуска серверов. Я покажу на примере Fedora/CentOS. Сначала рестартим Апач:
service httpd restart
Затем — перезагрузим Nginx:
service nginx restart
Не помогло? Тогда можно попробовать увеличить таймаут. Для этого в nginx.conf прописываем параметр:
keepalive_timeout 60
По умолчанию его значение — 0.
Снова перезапускаем веб-сервер и смотрим изменилась ли ситуация.
Такой ход иногда может помочь. Но если на ресурс очень сильная нагрузка, то увеличив таймаут вы увеличите и количество ожидающих http-соединенний, а значит ещё повысите нагрузку, что крайне не желательно! А то плюсом добавится ещё и ошибка 502 Bad Gateway из-за перегруза httpd запросами.
Поэтому надо разобраться с тем, что же создаёт такую сильную нагрузку. Для этого воспользуемся командой:
top -c
Обратите внимание на значения в строчке «load average»
Его максимальное значение должно быть не более количества ядер у процессора. Ну плюс/минус 2. Если значение более 10 — надо бить тревогу. Обычно такое возникает в случае DDOS-атаки, из-за которой Apache забит Sync-запросами. Ишите с помощью команды netstat IP-адреса ботов и заносите их в DROP-правила пакетного фильтра Firewall.
Если на Вашем ресурсе Nginx работает вместе с PHP-FPM, то очень часто ошибка 504 возникает из-за медленных скриптов. Веб-сервер просто не дожидается результата выполнения. Спаси может помочь добавление параметра
fastcgi_read_timeout 300;
в раздел:
location ~ \.php$ { .... }
б) Вы арендуете только хостинг без доступа к его настройкам.
При таком раскладе самостоятельно ничего сделать Вы не сможете и остаётся только обращаться в техподдержку Вашего хостинг-провайдера с просьбой устранить ошибку 504 Gateway Time-out. Обычно системные администраторы хостера помогают пользователям найти источник проблемы и устранить его. Если же они пошлют Ваш куда подальше, то выход будет только один единственный — менять хостинг-провайдера.
gateway time-out, nginx 504, ошибка сайта
Что означает ошибка 504 Gateway time out
Прежде всего, в самом простом выражении ошибку с кодом 504 можно трактовать как истечение времени ожидания ответа на запрос, отправленный с пользовательского компьютерного терминала удаленному серверу, находящемуся в Сети.
Иными словами, обработка подобного рода запросов попросту имеет свои ограничения по времени, в течение которого сервер должен отослать отзыв. На разных серверах это время имеет и разные значения. В любом случае, если появляется сообщение с кодом 504 (ошибка), значит оно просто истекло, то есть в течение этого временного промежутка от сервера ответ получен не был.
Что такое 504-я ошибка Gateway Timeout
Ошибка 504 Gateway Timeout появляется чаще, чем вы думаете, и здесь не нужно сразу впадать в панику.
Многие путают эту ошибку с 404-й ошибкой, которая появляется, когда страница не существует или недоступна. Напротив, ошибка 504 появляется, когда ваш браузер знает, что страница существует, но он не может установить соединение с ней.
Чтобы понять это лучше, сначала рассмотрим, как сайты работают на базовом уровне. Чтобы веб-сайт был доступен, он должен быть размещен на сервере с внешним доступом. При доступе к домену сайта браузер установит соединение с сервером и будет ждать ответа. Если сервер не отвечает, веб-сайт не загружается, и ваши посетители увидят ошибку 504.
Ошибка также может принимать различные формы в зависимости от того, какой браузер используют ваши посетители. Вот визуальный пример данной ошибки:
Современное интернет-соединение может проходить через несколько серверов (или шлюзов), прежде чем оно достигнет своего пункта назначения и сервера веб-сайта. Если какой-либо из этих серверов не отвечает, вы также столкнетесь с ошибкой 504.
Технически, любой из этих серверов должен рано или поздно отвечать, если он не выключен. Однако браузеры настроены на прекращение попыток установить соединение через определенное время. Это гарантирует, что ваш компьютер не застрянет при попытке постоянного подключения к серверу, который не отвечает. Существует несколько потенциальных причин, по которым сервер не может ответить, например:
- Проблема с настройками вашего прокси. В некоторых случаях используемый вами прокси-сервер может быть ссылкой, которая вовремя не отвечает.
- Ваш домен недоступен. Как вы, возможно, знаете, ваш домен должен иметь распространение DNS, чтобы к нему был доступ. Попытка получить доступ к домену слишком рано после регистрации может иногда привести к ошибке 504 (Шлюз не отвечает).
- Проблема с сетью доставки контента (CDN). Иногда использование CDN для вашего сайта может вызвать 504 ошибку.
- Проблемы с хостинг-провайдером. Наиболее частыми причинами ошибок 504, как правило, являются проблемы с хостингом (и они, как правило, решаются без вашего участия).
Часто 504-я ошибка может устраняться без вашего участия, но это не означает, что вы не должны обращать на нее внимание. Если ваш хостинг является источником проблемы, ошибка не будет длиться долго
В конце концов, хорошие хостинг-провайдеры, как правило, готовы решать такие вопросы.
Однако, если ошибка 504 сохраняется какое-то время, скажем, более часа, это может вызывать беспокойство. В таких случаях вам нужно быть активным в поиске решения, о чем мы и поговорим в следующем разделе.
Как исправить 504 gateway time out Nginx
Веб-сервер Nginx часто работает не только в качестве самого веб-сервера для отдачи контента, но и в качестве прокси, когда он вступает только посредником. Такая ситуация наблюдается намного чаще, чем можно было бы ожидать. Например, при работе с php-fpm и другими модулями динамических языков.
Именно в таком режиме может наблюдаться ошибка 504 gateway time out Nginx. В нашей сегодняшней статье мы попытаемся разобраться почему она возникает и как с ней бороться. Разберем несколько способов решения и причин.
Что значит 504 gateway time out Nginx?
Как я уже сказал, такая ошибка возникает, когда сервер Nginx работает в режиме прокси. Например, при использовании php-fpm или Apache. Дословно, она означает, что превышено время ожидания ответа от сервера. В нашем случае, превышено время ожидания ответа от php-fpm. Рассмотрим несколько причин такого поведения:
- Скрипт PHP или на другом языке полностью завис и уже не вернет никакого ответа;
- Скрипт работает очень долго, но в Nginx настроен интервал на сброс соединения если целевой сервер не ответил на запрос за отведенный строк;
- Сервер перегружен и не успевает обслужить всех клиентов, вернуть ответы на все запросы Nginx;
Дальше рассмотрим что можно сделать если вы встретились с ошибкой 504 gateway time out Nginx.
Как исправить 504 gateway time out Nginx?
Самый первый вариант — это если вашему серверу, php-fpm или apache не хватает ресурсов системы, например, памяти или процессора. Вы можете посмотреть свободную память с помощью команды free:
free -h
Нагрузку на процессор можно узнать командой htop:
htop
Естественно, если вы видите, что PHP занимает все процессорное время, то значит проблема в ресурсах сервера. Вы можете покопаться в движке своего сайта, пытаться оптимизировать те или иные моменты, об этом будет отдельная статья или же взять более дорогой тариф VPS.
Второй вариант — это если так и было запланировано, чтобы скрипт работал долго. В таком случае нужно настроить Nginx, чтобы он дождался ответа от Apache или php-fpm. Для решения проблемы в случае с php-fpm нужно только добавить две строчки в блок настройки fastgci:
fastcgi_send_timeout 300;fastcgi_read_timeout 300;
proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600;
send_timeout 600;
Тут уже мы задаем таймаут 600 секунд для различных видов действий — подключения, отправки данных, чтения данных и так далее. После завершения настройки Nginx стоит перезапустить:
sudo systemctl restart nginx
Последний вариант, который мы рассмотрим — это скрипт завис. Если вы сами запускаете скрипт, то сразу увидите что зависло, но если такая ошибка встречается у пользователей, то это уже более серьезная проблема. Вы можете посмотреть встречаются ли вашим пользователям такие ошибки и где они встречаются с помощью команды:
fgrep -i » 504 » /var/log/nginx/access.log
Более подробную информацию иногда можно увидеть в error.log:
fgrep -i » 504 » /var/log/nginx/error.log
Дальше, если проблема именно в php-fpm, вы можете отследить какие скрипты выполняются медленно с помощью встроенной функции slow-log. Для ее активации добавьте следующие строки в конфигурацию вашего пула:
sudo vi /etc/php-fpm.d/www.conf
slowlog = /var/log/php-fpm/www-slow.logrequest_slowlog_timeout = 5s
Дальше останется только разобраться что с этим делать, например, оптимизировать скрипты или отключить лишние плагины.
Выводы
В этой статье мы рассмотрели как исправить 504 gateway time out Nginx 1.2 7, а также почему может возникнуть эта ошибка. Надеюсь, эта информация была полезной для вас.
Причины возникновения ошибки
Как и у большинства сбоев в ОС Android у ошибки 504 есть достаточно много причин возникновения. К основным из них можно отнести:
- Сбой в автоматической настройке даты и времени. Обычно это происходит, когда часовой пояс или дата установлены не верно;
- Отсутствие подключения или нестабильная работа Интернета;
- Сбой при обновлении Play Market или самой операционной системы;
- Некорректные данные магазина, его сервисов или переполненный кэш в системе;
- Ошибка в работе внешнего накопителя (SD-карты). Это может быть как техническая поломка карты, так и сбой в программном обеспечении;
- Недостаточный объем памяти во внутреннем хранилище устройства (раздел «Установка по умолчанию»).
Ошибка 504 Gateway Timeout time out nginx. Как исправить. Хостинг в деталях
В этой статье описаны причины возникновения ошибки 504 Gateway Timeout (time out).
Часто ошибку можно видеть на серверах, где установлен nginx в качестве фронтенда и Apache в качестве бэкенда. И многие думают, что проблема в nginx. Это не так.
504 Gateway Timeout — значит, что клиентский запрос nginx передал апачу, а апач не смог в установленный лимит времени вернуть HTTP-ответ. Немного подробнее о взаимоотношениях nginx’а и апача в статье про 502 Bad Gateway.
Почему Apache не смог ответить?
Скорее всего дело в возросшей нагрузке на сайт, при которой Apache не успевает отдавать HTTP-ответы, и новые запросы встают в очередь. Клиенты «висят» в очереди, но за приемлемое время их так и не успевают обслужить, поэтому соединения сбрасываются.
https://youtube.com/watch?v=KnQOUoIBWqs%3Ffeature%3Doembed
Чтобы решить проблему, можно добавить ресурсов серверу, в частности оперативной памяти, и увеличить количество процессов httpd (Apache). Другой вариант — оптимизировать работу скриптов сайта, чтобы они выполнялись быстрее. Если вы на обычном виртуальном хостинге, то без усилий администрации ситуация не улучшится. Если проблема не решается, надо искать другого провайдера.
Другая возможная причина возникновения ошибки 504 — исполняемый скрипт не укладывается в отведенный лимит времени. Это бывает, когда скрипт обращается к другим сайтам, либо просто выполняет тяжелую операцию, например, строит поисковый индекс.
Варианты решения: увеличить значение параметра PHP max_execution_time или облегчить скрипт.
Критические замечания к статье приветствуются.
Если на вашем сайте ошибка 504
Так как на данный момент лидирующим является WordPress, мы будем рассматривать решение проблемы с ошибкой 504 именно на этой CMS.
Если вы владелец сайта, на котором происходит ошибка 504, обратите внимание на логи. Если они включены, в них будет описана причина ошибки 504;
В wp-config включите отладку (показ сообщений ошибок). Теперь все возникающие ошибки будут отображаться в wp-contents/debug.log
Теперь все возникающие ошибки будут отображаться в wp-contents/debug.log
- Удостоверьтесь, что ошибка не в плагинах. Для этого переименуйте папку с плагинами (wp-content/plugins), например, на «_plugins» и проверьте работоспособность сайта.
- Если с отключенными плагинами всё в порядке, верните название папки и внутри папки с плагинами начните переименовывать один плагин за другим, пока ошибка не исчезнет.
- Если вы используете CloudFlare, убедитесь, что не сработала одна из защит от атак. Самым простым вариантом будет связаться с техподдержкой или вовсе отключить его.
Решение ситуации
Существует несколько способов того, как решить проблему:
Аппаратный.
Программный.
Оптимизированный.
- Первый подразумевает приобретение дополнительной операционной памяти и увеличение мощности главного процессора, который отвечает за работу сервера.
- Второй требует облегчения скриптов, особенно если этот элемент дополнительно в своей работе выполняет обращение к огромному числу разнообразных сайтов. Параллельно этому действию рекомендуется увеличить значения, установленные для параметра PHP max_execution_time.
- Последний способ того, как исправить 504 gateway time out nginx, заключается в процедуре оптимизации всех процессов, которые выполняет сервер во время своего функционирования. Это и скрипты и SQL запросы, и так далее. Естественно, что для этой процедуры, как минимум надо обладать правами на администрирование, а в идеальном варианте – иметь полный доступ ко всей системе.
Если человек столкнулся с этой не самой приятной ситуацией, являясь только владельцем сайта, то есть, не имея доступа и надлежащих прав для изменения необходимых параметров, то выход из сложившегося положения только один – смена хостинг-провайдера на другую, более надежную организацию, обладающую мощным оборудованием и гарантией качества предоставляемых услуг.
Если сервер, на котором располагается ваш ресурс, перегружен (это происходит вследствие исчерпывания лимита трафика), он выдает пользователю сообщение: «Ошибка 504 gateway time out». В переводе на русский это означает: «время ответа шлюза вышло, шлюз не отвечает». Возникает ситуация, когда Apache чисто физически не может обработать все http-запросы, и они встают в очередь. Однако проходит лимитное время, и приходит сообщение о том, что запрос не обработан.
Чтобы исправить ситуацию, необходимо оптимизировать ваш сервер. Для этого нужно изменить объем оперативной памяти и количество запросов http (Apache) в сторону их увеличения. Еще один вариант — оптимизировать работоспособность всех скриптов, находящихся на вашем сайте. Данная операция поможет поднять производительность обработки.
Если же вы оплачиваете свой хостинг, то следует сразу же обратиться за помощью в саппорт. Служба поддержки обязана проверить ваш сайт на наличие каких-то неисправностей и при возможности «отремонтировать» его. Не стоит пренебрегать такой возможностью. «Дырок», которые необходимо залатать, может быть больше, чем вы думаете. Некоторые хостинг-провайдеры осуществляют техническую поддержку по телефону. Данный вид помощи очень полезен, если вы в первый раз столкнулись с такими техническими проблемами, как ошибка 504. Благодаря такому саппорту вы сможете научиться устранять их самостоятельно, без посторонней помощи.
Есть и еще одна причина, по которой может возникнуть 504-ошибка: скрипт, выполняющий какую-то команду, не укладывается в те временные рамки, которые для него заданы. Это может быть связано с запросом сторонних ресурсов, либо он сам в это время занимается другим делом. Например, выстраивает поисковый индекс. Для удаления неисправности вы можете пойти двумя путями:1) облегчить скрипт путем его оптимизации; 2) увеличить значение PHP-параметра max_execution_time. Еще раз хотелось бы затронуть вопрос о технической поддержке хостинг-провайдера, на котором расположен ваш сайт. Безусловно, у каждого он свой, но обязанности саппортов для всех обязательны. Бывают такие случаи, когда вопросы, отправленные в службу поддержки, остаются без внимания. Особенно если это касается каких-нибудь лагов. Например, возникает та же самая ошибка 504. В этом случае меняйте хостинг. Если начнутся более серьезные проблемы, то вряд ли вы сможете рассчитывать на их помощь.
Тут еще один момент, о котором следовало бы упомянуть. Если ваш сайт расположен на бесплатном хостинге и имеет трехуровневый домен, то не ждите, что ваши заявки рассмотрят в ближайшее время. В первую очередь, такие саппорты работают с клиентами, которые ежемесячно оплачивают им место на виртуальных дисках. Конечно, осуждать их нет причин, ведь постоянные клиенты важнее. Поэтому, если хотите, чтобы в будущем ошибка 504 вас больше не беспокоила, переходите сразу на платный хостинг. Подвоха в этом никакого нет, перейдя на такой пакет, вы избавите себя и свою работу в интернете от множества нежелательных и непредсказуемых проблем.
Вот и все, что хотелось вам рассказать о таком явлении, как ошибка 504. Пускай она встречается вам как можно реже!
Как исправить ошибку 504 если у вас VPS
Если у вас VPS, к которому вы имеете полный доступ, можно попробовать увеличить значение timeout.
Apache
Отредактируйте файл httpd.conf, изменив значение параметра timeout:
Возможные местоположения файла: /etc/apache/httpd.conf, /etc/apache2/apache2.conf , /etc/httpd/conf/httpd.conf , /usr/local/etc/apache22/httpd.conf , /usr/local/etc/apache/httpd.conf
Nginx
Если у вас Nginx, то попробуйте изменить параметры в файле /etc/nginx/conf.d/timeout.conf:
Также увеличьте значение max_execution_time в файле php.ini
Однако, необходимо понять, что этот путь решения проблемы не совсем верен
Если время выполнения скрипта превышает допустимые значения, обратите внимание на уменьшение этого времени. Таким образом, ваши посетители и сервер скажут вам спасибо
Если по каким-то причинам это невозможно, задумайтесь об увеличении ресурсов сервера или кешировании (W3 Total Cache или другие плагины).