Ошибка 503 Service Temporarily Unavailable

Что означает данная ошибка

Код 503 означает, что сервер, где базируется ресурс, не принимает запросы на заданный адрес. Процедура приема запросов происходит беспрерывно, для всех аккаунтов выделено лимитированное число процессов для обработки запросов. Обработка запросов происходит поочередно. На длину очереди установлено ограничение.

У каждого аккаунта на сервере хостинга есть определенное количество рабочих процессов, выделенное в соответствии с выбранным тарифным планом. Работа с запросами ведется в порядке очереди, они поступают на сервер, где легкие запросы обрабатываются мгновенно, а тяжелые – медленно. Всякая очередь ограничена тем или иным количеством запросов.

Возможно, что это причина временная и придется немножко подождать, пока сервер «отойдет» от перегрузки, освободив нужное количество ресурсов для обработки Вашего запроса. Лучше всего оставить попытку взаимодействовать с сайтом на 3-5 минут, иначе образуется другая очередь – обращений к серверу. Она только усугубит ситуацию.

Ошибка в плагине

Некорректно работающий плагин может быть причиной большинства возникающих в WordPress ошибок. К слову, ошибка в плагине лидирующая причина возникновения ошибки 503 service unavailable в WordPress.

Если вы столкнулись с ошибкой 503 после установки или обновления конкретного плагина, скорее всего вы уже нашли виновника. Всё, что вам потребуется сделать, это удалить проблемный плагин и работа сделана.

Если, однако, у вас нет идей по поводу того, какой именно плагин мог вызвать ошибку 503, нужно начать диагностику путём деактивации всех плагинов.

Но как деактивировать все плагины WordPress, если у вас нет доступа к админ панели?

Внутри нашего каталога WordPress, найдите и откройте каталог wp-content, который содержит ваши плагины, темы и медиа контент среди прочего.

Это приведёт к деактивации всех плагинов одновременно. Теперь переименуйте обратно plugins-old в plugins и перегрузите свой сайт. Если ошибка 503 исчезла, плагин является причиной вашего текущего затруднительного положения.

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

Теперь вы сможете зайти в свою админ консоль на сайте WordPress через браузер и активировать по очереди один за другим все плагины.

Если деактивация плагинов не помогла в устранении ошибки 503 service unavailable, читайте дальше другие решения. Теперь давайте проверим, не является ли причиной проблемы ваша тема.

Сомнительная тема WordPress

Порой, скрипт PHP с ошибками, который выдаёт ошибку 503 может быть частью темы. Для проверки этого, мы переключимся на тему по умолчанию Twenty Seventeen. Между прочим, рекомендуется оставлять темы по умолчанию даже после установки новой темы, поскольку она (тема по умолчанию) служить запасной темой в случае проблема с вашей.

Прежде, чем мы деактивируем вашу тему (или удалим, если это проблема) нужно создать бэкап. Подключитесь к своему сайту WordPress по FTP и перейдите в каталог wp-content -> themes.

Причины возникновения и борьба с ошибкой — инструкция для владельцев сайтов

Ряд причин, связанных с сервером тоже может вызывать ошибку 503 service unavailable. Обычно, ошибка 503 вызванная проблемами с сервером исчезает автоматически через несколько минут.

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

Некоторые тарифные планы общего хостинга просто не имеют необходимого количества ресурсов для работы с трудоёмкими задачами. Если у вашего хоста узкое место в использовании серверных ресурсов, возможно пришло время переключиться на новый WordPress хостинг или сменить свой тарифный план на текущем хостинге.

Вы постоянно получаете ошибку 503 service unavailable? Если да, проверьте свои показатели в Google analytics. Если вы получаете больше трафика, чем обычно, вам определённо перестало хватать изначальных ресурсов сервера.

Однако, если у вас нету прироста в трафике, но всё равно возникает ошибка 503, ваша проблема не имеет отношение к недостаточному количеству RAM или памяти на сервере.

Для индексирования вашего контента, Google использует специальные скрипты, известные как сканеры (crawlers). Они регулярно посещают сайт и собирают контент и определяют другие показатели ранжирования.

Хоть это и редкий случай, но сканирование может вызвать рост потребления ресурсов на вашем сервере и замедление работы сайта. Чтобы обойти это и избежать ошибки 503, вы можете ограничить частоту сканирования Google в Google Search Console.

Согласно WordPress.org, “…Heartbeat API – это пример API приложения встроенного в WordPress и осуществляющего опрос сервера, позволяя в режиме почти реального времени видеть показатели.” Он отвечает за такие функции, как авто-сохранение и так далее.

Чтобы исправить данную ошибку нужно знать причины по которым она может появляться.

Причина 1. Количество страниц на сайте не равняется количеству запросов посылаемых к серверу. Возникает это из-за того что на каждой странице сайта могут располагаться различные объекты, такие как: java- и PHP-скрипты, файлы таблиц стилей, изображения и т. д. Чтобы загрузить каждый из них необходимо послать отдельный запрос. Чем больше создается запросов к серверу, при запросе одной отдельной страницы тем больше вероятность возникновения ошибки.

Решение: Оптимизируйте свой сайт и скрипты, устраните не нужные элементы, которые не несут никакой пользы, на странице, а также используйте кэширование – это способно снизить нагрузку на ваш сервер.

Причина 2. Слишком много обращений к страницам сайта поисковых ботов и сканеров тех или иных сервисов, а также прочих анализаторов. Счетчиками посещаемости они не учитываются, но вот нагружают работу прилично, вызывая ошибку сервера 503.

Решение: Посмотреть точную статистику посещений можно только в лог-файлах веб-сервера. В некоторых случаях может помочь полное закрытие от посещения поисковыми роботами отдельных системных страниц сайта не предназначенных для поисковых систем.

Причина 3. Посетитель сайта может вызывать большое количество обращений к серверу, находясь на одной странице, если сайт использует AJAX. Тяжелее всего приходится веб-серверу когда на сайте размещаются онлайн-конференции, игры, чаты и иже с ними.

Решение: Возможно придется сменить хостинг на более мощный, например сменить тариф виртуального хостинга на VPS или уже имеющийся тариф VPS на более производительный.

Причина 4. Проблема может быть и при использовании фрагментов ресурсов и скриптов с чужих сайтов — скрипты-информеры, ссылки на картинки, которые подгружаются на ваши страницы с других серверов.

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

Причина 5. DDOS-атака на сайт.

Решение: Хостинг провайдеры отслеживают несанкционированную активность, однако блокируется такая волна лишь после накопления определенной статистики, чтобы не навредить работе реальных пользователей.

Подвоха стоит ждать и со стороны скриптов, они могут работать чересчур медленно или подвисать. Тогда-то пользователь и получит неприятное окошко «Ошибка 503 Service Temporarily Unavailable».

Причина 1. Соединение с удаленным сервером.

Решение: Избегайте подобного, либо выставляйте небольшой таймаут на ожидание отклика. Заблаговременно убедитесь, что связь со сторонним сервером достаточно хорошая.

Не используется ли в PHP-скриптах Вашего сайта Include-функции? Если они расположены на одном аккаунте, используйте локальный путь для обращения к ним, а не путь вида http://. Это поможет избежать дополнительного HTTP-запроса, занимающего лишний рабочий процесс, тем самым загружая сервер.

Причина 2. Множество «тяжелых», а иногда и испорченных или не доработанных расширений, плагинов и модулей CMS.

Решение: Необходимо проверить компоненты и плагины CMS. Отключайте их по очереди, и проверяйте работу сайта, чтобы найти «слабое звено», замедляющее загрузку сайта. Лучше всего отказаться от этих компонентов, исключив их совсем или найдя альтернативу пошустрее. Не забывайте удалять неактивные компоненты и плагины.

Причина 3. Через PHP передаются большие статичные файлы.

Решение: Лучше всего передавать файлы подобного рода напрямую, а не использовать для их передачи скрипты. Почему? Да потому, что продолжительность работы скриптов ограничена и передача файла может прерваться. К тому же, чтобы передать файл через PHP, нужен еще один процесс-рабочий, который выпадает из механизма обработки пользовательских запросов на время передачи файла.

Передавая файлы напрямую, сервер задействует многопоточный процесс, благодаря которому обрабатывается несколько потоков единовременно, а на скорость загрузки сайта влияние не оказывается.

Причина 4. Огромное количество медленных запросов к MySQL, а также не оптимизированность базы данных и её размер.

Решение: Нужно установить кэширующие компоненты в движок. Они сократят количество SQL-запросов, кстати, не лишним будет оптимизировать сами запросы. Следует проиндексировать таблицы базы данных по столбцам, что используются в выборке. Ничего не помогает? Смените движок на более оптимальный.

Причина 5. Почтовая рассылка.

Решение: Расположите скрипт почтовой рассылки в системном cron’е. Управлять им можно с контрольной панели хостинга. Лучше всего назначить запуск на ночь (московское время), когда сервер нагружен минимально. Учитывайте все ограничения, относительно количества писем, рассылаемых за час или день, а также время работы PHP скрипта.

Чтобы снизить частотность ошибки 503 нужно детально подойти к рассмотрению причин возникновения проблемы.

Сбой в работе пользовательского кода PHP

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

В обычном режиме, когда ваш сайт работает, можно использовать плагины для отладки, такие как Query Monitor и Debug Bar.

Включение WP_DEBUG

Но, так как 503 ошибка часто блокирует вам вход в админ панель вашего WordPress сайта, мы будем использовать константы WP_DEBUGи WP_DEBUG_LOG, WP_DEBUG_DISPLAY и @ini_set доступные в WordPress.

Для включения режима отладки в WordPress и записи логов ошибок в файл, следуйте шагам:

  1. Откройте каталог WordPress по FTP или в Файловом менеджере.
  2. Откройте файл wp-config.php
  3. Прокрутите до определения константы WP_DEBUG. Выглядит так: define ('WP_DEBUG', false);. Если она пропущена, мы добавим её сразу перед словами /*That's all, stop editing! Happy blogging.*/
  4. Вставьте магический код отладки DEBUG. Только исправьте код define ('WP_DEBUG', false); на:
    define ('WP_DEBUG', true);
    define ('WP_DEBUG_LOG', true);
    define ('WP_DEBUG_DISPLAY', false);
    @ini_set ('display_errors', 0);
  5. Сохраните изменения

Теперь перезагрузите свой сайт, чтобы вызвать появление ошибки. Далее, найдите файл под названием debug.log внутри вашего каталога wp-content в каталоге WordPress.

В этом файле содержаться записи по всем ошибкам на вашем сайте. Если ваша ошибка 503 service unavailable вызвана фрагментом пользовательского кода, это будет видно с указанием её подробностей.

Устраните/замените проблемный код и перезагрузите сайт. Если ошибка 503 осталась, проблема может быть в вашем веб-сервере.

Понравилась статья? Поделиться с друзьями:
Женский портал
Adblock
detector