503 service temporarily unavailable как исправить? - OXFORDST.RU

503 service temporarily unavailable как исправить?

Как Выявить и Устранить Ошибку 503 Service Unavailable в WordPress

При попытке загрузить ваш сайт WordPress появился белый экран с сообщением об ошибке «503 Service Unavailable»? В этом руководстве мы покажем вам, как отладить и устранить ошибку 503 в WordPress.

  • Как Исправить Ошибку 503 Service Unavailable в WordPress?
  • Ошибка в Плагине
  • Сомнительная Тема WordPress
  • Деактивация Темы WordPress с Помощью Файлового Менеджера
  • Сбой в Работе Кастомного Кода PHP
  • Включение WP_DEBUG
  • Причины, Связанные с Сервером
  • Что Значит Ошибка 503 Service Unavailable в WordPress?
  • Заключительные Заметки

Как Исправить Ошибку 503 Service Unavailable в WordPress?

Существует несколько причин этой ошибки. Мы рассмотрим каждую из них, а также покажем, как устранить проблему 503 Service Unavailable.

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

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

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

Деактивация всех плагинов WordPress

Вы можете удалить плагины WordPress через файловый менеджер в панели управления хостингом. В этом примере мы будем использовать hPanel — панель управления хостингом Hostinger:

  1. Войдите в hPanel, затем перейдите в файловый менеджер в разделе «Файлы».

  1. Получив доступ к своим файлам, выберите папку public_html ->wp-content.
  2. Найдите папку плагинов и щёлкните по ней правой кнопкой мыши.
  3. Переименуйте её в plugins_disable, чтобы отключить все плагины сразу.

  1. Переименуйте папку plugins_disable обратно в исходное имя — plugins.
  2. Обновите свой сайт WordPress и войдите в его админку — wp-admin.

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

  1. Войдите в консоль WordPress, затем перейдите в Плагины ->Установленные.

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

ОБРАТИТЕ ВНИМАНИЕ. Если ошибка 503 Service Unavailable появляется после активации определённого плагина, значит причина именно в нём.

После того как вы выполните все описанные выше действия, ошибка 503 Service Unavailable должна исчезнуть, и вы сможете зайти на свой сайт.

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

Причина ошибки 503 Service Unavailable может быть и в вашей теме. Особенно, если проблема появилась после установки нового шаблона.

Чтобы узнать так ли это, переключитесь на тему WordPress по умолчанию, такую как Twenty Nineteen или Twenty Twenty.

ОБРАТИТЕ ВНИМАНИЕ. Не спешите избавляться от темы по умолчанию даже после установки нового шаблона, поскольку она может быть использована как резервная, в случае если новая тема не работает.

Деактивация Темы WordPress с Помощью Файлового Менеджера

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

  1. В разделе «Файлы» в hPanel найдите Файловый менеджер ->public_html -> папка wp-content.
  2. Найдите папку themes и переименуйте используемую в данный момент тему. Допустим, вы хотите переименовать тему my-theme, для этого щёлкните по папке правой кнопкой мыши и переименуйте её в my-theme-off. Ваша тема автоматически переключится на тему WordPress по умолчанию.

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

Деактивация Темы WordPress через phpMyAdmin

Если вы не помните название текущей темы, есть другой способ отключить её. В нашем примере мы перейдём на тему Twenty Seventeen:

  1. Откройте hPanel, затем перейдите в phpMyAdmin в разделе «Базы данных». Выберите опцию «Перейти в phpMyAdmin».

  1. Найдите значения template и stylesheet в таблице wp_options.
  2. Имя вашей текущей темы находится в столбце option_value. Дважды щёлкните по нему и измените на twentyseventeen.
  3. После завершения перезагрузите сайт, чтобы просмотреть изменения.

ОБРАТИТЕ ВНИМАНИЕ. Если ошибка 503 исчезла после деактивации текущей темы, попробуйте обновить её до последней версии. Если и это не помогло, лучше найти другую тему для вашего сайта WordPress.

Сбой в Работе Кастомного Кода PHP

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

Включение WP_DEBUG

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

  1. Зайдите в hPanel и перейдите в Файловый менеджер -> папка public_html.
  2. Откройте файл wp-config.php
  3. Проскрольте вниз и добавьте следующий код прямо перед строкой «/*That’s all, stop editing! Happy publishing.*/»:


Сохраните изменения, нажав Save & Close.

ВАЖНО: Если вы добавили строку WP_DEBUG в файл wp-config.php, активируйте изменения, изменив значение с false на true.

ОБРАТИТЕ ВНИМАНИЕ. Вы также можете просмотреть логи ошибок в файле /public_html/error_log из файлового менеджера.

Причины, Связанные с Сервером

Если ни один из способов, описанных выше, не дал результата, поищите проблему на вашем сервере. Есть три метода устранения ошибки 503 Service Unavailable в WordPress на стороне сервера.

Ограничение WordPress Heartbeat

WordPress Heartbeat — это встроенный API, благодаря которому ваш сайт может иметь функцию автосохранения изменений записи. Этот функционал потребляет ресурсы вашего сервера, однако вы можете ограничить его с помощью плагина Heartbeat Control WordPress или полностью отключить.

Чтобы определить, является ли WordPress Heartbeat причиной ошибки 503 Service Tempoporary Unavailable на вашем сайте WordPress, добавьте следующий код в файл functions.php вашей темы сразу после открывающего тега Что Значит Ошибка 503 Service Unavailable в WordPress?

Ошибка 503 Service Unavailable означает, что ваш сайт WordPress активен, но сервер недоступен из-за существующей проблемы. Кроме того, ошибка блокирует доступ как к интерфейсу вашего сайта, так и в его административную панель.

В зависимости от конфигурации сервера ошибка 503 в WordPress может выглядеть по-разному. Существуют такие коды ошибок:

  • 503 Service Unavailable
  • Http/1.1 Service Unavailable
  • HTTP Server Error 503
  • 503 Error
  • HTTP 503
  • HTTP Error 503

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

Заключительные Заметки

503 Service Unavailable — это распространённая ошибка, при которой ваш интерфейс и серверная часть не отображают контент сайта. Наиболее частой причиной ошибки является неисправный плагин или тема WordPress, но могут быть и другие.

Вот краткое описание того, как выявить и устранить ошибку 503:

  • Деактивация всех плагинов WordPress, а затем их поочерёдное включение
  • Отключение текущей темы WordPress путём возврата к теме по умолчанию
  • Включение режима WP_DEBUG
  • Поиск и устранение проблем, связанных с сервером

Удачи вам, а если у вас возникли вопросы, оставьте их в комментариях ниже.

Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.

Что означает ошибка сервера 503 и как ее исправить

Как и любая проблема с доступом к интернет-ресурсам, ошибка 503 Service Unavailable («Сервис недоступен») может быть вызвана сбоями как на стороне пользователя, так и на стороне сервера, на котором находится сайт. Поэтому первое, что нужно сделать, если вы столкнулись с таким сообщением при посещении веб-ресурса, попробовать устранить сбой своими силами. Это намного проще и быстрее, чем пытаться донести информацию о возникших сложностях до владельца сайта.

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

Мощный хостинг в подарок при заказе лицензии 1С-Битрикс

Выбирайте надежную CMS с регулярными обновлениями системы и профессиональной поддержкой. А мы подарим вам год мощного хостинга – специально для сайтов на 1С-Битрикс.

Устранение ошибки 503 пользователем

Возникает резонный вопрос: почему бы просто не покинуть проблемный сайт, пусть сами разбираются со своими багами? Это решение очевидное, но не совсем верное. Во-первых, вам может быть очень необходимо посетить именно этот веб-ресурс. Во-вторых, появление сигнала об ошибке доступа может говорить о том, что с вашим браузером, программным обеспечением, компьютером или другими устройствами что-то не в порядке. И тогда это уже ваша проблема, которая может повторяться систематически и при посещении других сайтов. Рассмотрим, что можно сделать самому, чтобы исправить ошибку 503, двигаясь от простого к сложному.

  1. Обновите вкладку браузера. Это покажется странным, но зачастую такое простое действие приводит к положительному результату. Нажмите клавишу F5 или воспользуйтесь специальной кнопкой в меню браузера.
  2. Закройте и откройте браузер. Таким образом вы произведете сброс текущей сессии соединения и обновите его. При новом подключении скрипт браузера может не обнаружить ошибку 503, если она была воспринята им ошибочно.
  3. Стоит убедиться, что сбой не связан именно с вашим компьютером. Это особенно актуально, если ошибки соединения с веб-ресурсами повторяются регулярно и возникают с разными кодировками на других сайтах. Для этого необходимо посетить проблемную страницу с другого устройства и желательно через новое интернет-соединение.
  4. Зайдите на страницу, выдавшую ошибку 503, используя другой браузер. Вполне вероятно, что дефект возникает из-за некорректных настроек текущего. Если это подтвердится, стоит в них покопаться и найти источник возникновения проблемы. Самое простое, это восстановить настройки по умолчанию.
  5. Перезагрузка компьютера. Как и любой программный сбой на уровне операционной системы или другого программного обеспечения, он может быть исправлен автоматически при новой загрузке системы.
  6. Очистка кэша и удаление файлов cookies. В зависимости от настроек конкретного браузера в них может сохраняться много «лишней» информации при обмене web-данными. Операция довольно несложная, но стоит предварительно посмотреть help по данному вопросу, т.к. в каждом браузере она проводится по-разному.
  7. Перезагрузка сетевого оборудования. Часто сложности при соединении с интернет-ресурсами возникают из-за некорректного поведения ПО на внешних устройствах, через которые вы получаете трафик. Это может быть роутер, раздающий интернет как по кабелю, так и через Wi-Fi. Необходимо отключить соответствующую железку по питанию, т.е. полностью обесточить ее примерно на одну минуту. Если провайдер выдает вам динамический ip-адрес, то произойдет его смена, что тоже может привести к устранению появления ошибки 503.
  8. Смена DNS-адреса на сервере. Это решение является наиболее сложным для обычного пользователя. В большинстве интернет-соединений используется общедоступный DNS-адрес Google. Изменить его можно через «Панель управления компьютера» в «Центре управления сетями и общим доступом». Данные манипуляции довольно критичны для устойчивой работы интернета на вашем компьютере. Поэтому производить их стоит только тогда, когда вы абсолютно уверены в своей IT-подготовке.

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

Ошибка 503 может отображаться в разных форматах с дополнительными информативными сообщениями. Появление страницы «503 Service Temporary Unavailable – Сервис временно недоступен» говорит о том, что проблема носит временный характер. В этом случае пользователю рекомендуется не предпринимать никаких действий и просто дождаться, когда доступ восстановится автоматически.

Решение проблем с ошибкой 503 администратором веб-ресурса

При возникновении ошибки 503 Service Unavailable в любом ее проявлении администратор web-ресурса в первую очередь должен разобраться в причине ее появления. Игнорирование данной процедуры по принципу «само пройдет» может привести к тому, что сайт понесет глобальные потери в объеме пользовательского трафика и, как следствие, конверсии. Посетители, регулярно сталкивающиеся с проблемами доступа к определенному ресурсу, очень быстро занесут его в «игнор».

В зависимости от конкретного тарифного плана хостинга каждый сайт имеет ограничения по одновременной обработке запросов, поступающих на сервер от конечных пользователей. Более простые запросы браузеров обрабатываются практически мгновенно, сложные ожидают очереди в порядке их поступления. Количество отложенных запросов лимитировано, при превышении нормы каждый следующий отклоняется. В этом случае посетитель сайта видит на экране сообщение с кодировкой error 503.

Наиболее частые причины возникновения ошибки 503 на стороне сервера

  1. При получении запроса от пользователя конкретная страница сайта не может установить соединение с базой данных MySQL.
  2. Некорректная работа плагинов и расширений из-за внутренних ошибок или конфликта между собой.
  3. Использование недорого хостинга и маломощного сервера приводит к тому, что оборудование не справляется с обработкой входящего трафика.
  4. Ресурсоемкие скрипты создают дополнительную нагрузку на сервер.
  5. Задействован почтовый сервис, выполняющий автоматическую рассылку сообщений в большом объеме.
  6. Соединение с удаленным сервером может привести к замедлению обработки запросов.
  7. Передача файлов большого объема при помощи PHP-скрипта.
  8. Значительное количество нерабочих модулей конкретной CMS.

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

Как избежать появления ошибок 503

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

Уменьшение нагрузки на базу данных можно добиться следующими способами:

  • Регулярное обновление CMS, которое позволяет оптимизировать работу движка, уменьшить количество багов.
  • Установка защиты от ботов и парсеров, которые часто запускаются вашими конкурентами, чтобы создать дополнительную нагрузку на ресурс и тем самым вывести его частично или полностью из строя.
  • Уменьшение размера и, если это возможно, количества графических файлов на сайте, а также «тяжелых» таблиц.
  • Ввод ограничений на количество одновременных участников в чате.

Оптимизация работы скриптов

  • Отключите все лишние плагины и дополнения, кроме тех, которые реально необходимы для бесперебойной работы сайта (кэширование, оптимизация базы данных, создание бэкапов, сжатие изображений).
  • Осуществляйте передачу файлов большого объема через FTP, т.к. использование других способов передачи данных приводит к созданию отдельного процесса.
  • Осуществляйте массовую почтовую рассылку в моменты отсутствия пиковой нагрузки на сайт, например, ночью или ранним утром.
  • При использовании удаленного сервера минимизируйте время ответа и оптимизируйте канал соединения.
  • Проверьте наличие проблемных запросов к базе MySQL в файле mysql-slow.log.

Дополнительную нагрузку на сервер, приводящую к появлению ошибки 503, могут создать DDoS-атаки. Защита от них с помощью фильтрации относится к отдельной теме обсуждения.

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

Заключение

Ошибка 503 Service Unavailable может возникнуть на любом сайте, управляемом одной из наиболее популярных CMS – WordPress (Вордпресс), Joomla (Джумла), DLE (ДЛЕ) и любой другой, использующей базы данных MySQL. Способов ее решения много, начиная от самых простых на уровне пользователя и заканчивая довольно сложными процедурами, которые должен выполнить администратор сайта.

Буду благодарен, если вы нашли нестандартный подход к устранению сбоя с кодировкой 503 и готовы поделиться своим опытом в комментариях!

Ошибка 503 на сайте

Ошибки 5XX означают, что есть проблемы со стороны сервера. Например, 500 ошибка значит, что сервер столкнулся с внутренней ошибкой, из-за которой не смог обработать запрос. К ней могут привести неверные директивы в .htaccess или ошибки в скриптах сайта. А ошибка 503 означает, что сервер не может обработать ваш запрос в данный момент. После номера ошибки часто идёт краткое описание. 503 ошибка сервера часто сопровождается фразой «Service Temporarily Unavailable». Переводится как «сервис временно недоступен». Если на вашем сайте часто встречается 503 ошибка, значит самое время выяснить её причину.

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

Что такое ошибка 503 Service Unavailable

Эта ошибка означает, что сервер не готов обработать запрос в данный момент. Подразумевается, что это временно и нужно повторить попытку позже. Но это не всегда так.

503 Service Temporarily Unavailable

HTTP 503 — это код состояния, который содержится в ответе веб-сервера и показывает, успешно ли выполнен запрос. Коды 5XX принадлежат классу серверных ошибок. В спецификации RFC 7231 указано, что код 503 сообщает о том, что сервер в настоящее время не может обработать запрос из-за временной перегрузки или планового технического обслуживания.

Если вы встретили эту ошибку, скорее всего, веб-сервер не успевает обрабатывать все поступающие на него запросы из-за нехватки ресурсов или технического обслуживания. Однако бывает, что ошибка 500 возникает не со стороны сервера, а со стороны клиента. Поэтому сначала стоит определить, на чьей стороне проблема.

503 Сервис недоступен со стороны посетителя

Если вы не являетесь администратором сайта, на котором встретили ошибку, проверьте, нет ли проблем с вашей стороны. Для этого:

Если после нескольких перезагрузок страницы ошибка всё равно возникает, попробуйте открыть сайт через другой браузер. Если в другом браузере ошибка не воспроизводится, очистите кэш на своем браузере. Например, в Google Chrome нажмите комбинацию клавиш Ctrl+Shift+Delete:

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

Ошибка недоступности, если вы владелец сайта

Частые ошибки 503 на вашем сайте могут негативно сказаться на позициях в поисковых системах и привести к снижению трафика. Посетители могут просто не вернуться на ваш сайт. Не игнорируйте проблему и сразу приступайте к её решению. Вот несколько вариантов решения:

На любом хостинге есть ограничения и лимиты, которые не стоит превышать. Их устанавливает хостинг-провайдер. Превышение лимитов может привести к возникновению проблем на сайте, в том числе и к ошибке 503. Изучить характеристики вашего тарифного плана вы можете на сайте хостинг-провайдера. Для хостинга REG.RU действуют следующие технические ограничения.

Хостинг может не справляться с большим количеством посетителей на сайте. В этом случае может помочь смена тарифного плана или переезд к новому хостинг-провайдеру.

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

Регулярно обновляйте CMS и её компоненты. Зачастую обновления направлены на оптимизацию работы движка, устранение уязвимостей, борьбу с багами, повышение безопасности и быстродействия. Удалите все ненужные компоненты, которыми не пользуетесь. Оставьте только самые необходимые, чтобы уменьшить нагрузку на сервер.

Проанализируйте скрипты сайта. К HTTP Error 503 может привести неправильная работа скриптов на сайте. Выполните их диагностику и убедитесь, что на сайте не включен режим технических работ.

Не загружайте крупные файлы при помощи PHP. Очень часто хостинг-провайдер ограничивает время выполнения скрипта, и вы можете не уложиться в этот лимит. Ещё одним минусом передачи файлов через PHP является создание отдельного PHP-процесса, который будет занят загрузкой файла, а не обработкой запросов посетителей. Загружайте файлы по FTP, чтобы уменьшить нагрузку на хостинг.

Запускайте массовые почтовые рассылки в периоды минимальной активности на вашем сайте. Точно так же стоит поступить и с техническими работами на сайте и сервере.

Поисковые роботы могут генерировать большое количество обращений к сайту. Проанализируйте статистику по User-Agent и выясните, какие роботы создают нагрузку. При помощи файла robots.txt задайте временной интервал обращений.

Настройте кэширование средствами CMS или хостинга. В WordPress вы можете настроить кэширование с помощью нашей инструкции: Что такое кэширование и как управлять им в WordPress. В панели управления хостингом тоже часто имеются встроенные инструменты по настройке кэширования.

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

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

Ошибка 503 на хостинге REG.RU

Ошибка может возникнуть из-за превышения лимита на количество PHP-процессов. Согласно техническим ограничениям, на тарифных планах Host максимальное количество процессов PHP составляет 4, на тарифных планах VIP — 32.

Чтобы посмотреть запущенные PHP-процессы, подключитесь по SSH и выполните следующую команду:

Где u1234567 — ваш логин хостинга (Как узнать логин хостинга).

Чтобы завершить текущие php-процессы, измените версию PHP на отличную от текущей. Затем включите версию PHP, которая была установлена ранее.

Максимальное количество процессов на тарифных планах Host составляет 18, а на VIP — 48. Если общее количество процессов (PHP, IMAP, Cron и др.) будет превышено, то может возникнуть ошибка «503 временно недоступен».

Чаще всего причиной является большое количество процессов IMAP из-за многочисленных подключений к ящикам. В качестве решения проблемы попробуйте подключаться к почтовому серверу по протоколу POP3. Это позволит уменьшить общее количество процессов.

HTTP Error 503. Service Unavailable: случай в поддержке хостинга

Начало

Хостинг предоставляет пользователям типичный стек Linux + Apache + Mysql + PHP и оболочку для управления. В нашем случае это ISP Manager 5 business на базе Centos 7 с конвертацией в CloudLinux. Со стороны административной части, CloudLinux предоставляет инструменты для управления лимитами, а так же PHP-селектор с различными режимами работы (CGI, FastCGI, LSAPI).

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

Коды ответа, начинающиеся с 50х, относятся к проблемам на стороне сервера. Это могут быть проблемы как самого сайта, так и веб-сервера, который их обслуживает.

Типичные ситуации, при которых мы получаем следующие ошибки:

  • 500 Internal Server Error — довольно часто связана либо с синтаксическими ошибками в коде сайта, либо с отсутствующими библиотеками / не поддерживаемой версией PHP. Так же могут быть проблемы с подключением к базе данных сайта или неверными правами на файлы / каталоги
  • 502 Bad Gateway — например, если Nginx ссылается на неправильный порт веб-сервера Apache или процесс Apache по какой-то причине перестал работать
  • 504 Gateway Timeout — ответ от Apache не был получен в течение заданного в конфигурации веб-сервера времени
  • 508 Resource limit is reached — превышен лимит, выделяемых пользователю ресурсов

В данном списке приведены лишь некоторые, наиболее распространённые случаи. Также стоит отметить, что при превышении лимитов пользователь может получить как 500, так и 503 ошибку.

При выполнении диагностики данных ошибок, первым делом проверяем журналы веб-сервера. Обычно, этого достаточно, чтобы определить виновника и исправить проблему.

Касаемо 503 ошибки в нашем случае, в логах мы видели запись:

[lsapi:error] [pid 49817] [client x.x.x.x:6801] [host XXX.XX] Error on sending request(GET /index.php HTTP/1.0); uri(/index.php) content-length(0): ReceiveAckHdr: nothing to read from backend (LVE ID 8514), check docs.cloudlinux.com/mod_lsapi_troubleshooting.html

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

Первичная диагностика

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

Так же мы изучили рекомендации CloudLinux, по приведённой в журналах ошибок ссылке.
Изменение каких-либо параметров результата не принесло.

Сайт использовал базу данных на сервере Mysql 5.7, который работает на этом же сервере в контейнере Docker. В логах контейнера присутствовали сообщения:

Как раз, среди этих сообщений были сообщения о прерванном подключении исследуемого сайта. Это дало предположение, о том, что подключение к СУБД выполняется некорректно. Для проверки мы развернули копию сайта на тестовом домене, сконвертировали базу данных сайта под нативную в Centos 7 версию СУБД 5.5.65-MariaDB. На тестовом сайте выполнили несколько сотен запросов с помощью утилиты curl. Ошибку воспроизвести не удалось. Но этот результат был предварительным и после конвертации БД на рабочем сайте проблема так и осталась.

Таким образом, проблема некорректного подключения к СУБД была исключена.

Следующим предположением было проверить — нет ли проблем с самим сайтом. Для этого подняли отдельный виртуальный сервер, на нём подняли максимально схожее окружение. Единственное существенное отличие — отсутствие CloudLinux. На тестовом сервере проблему воспроизвести не удалось. Итак, мы определили, что в коде сайта всё в порядке. Тем не менее, пробовали так же отключать плагины WordPress, но проблема так же сохранялась.

В результате, пришли к тому, что проблема на нашем хостинге.

В ходе анализа журналов других сайтов было обнаружено, что проблема наблюдается на многих из них. Порядка 100 шт. на момент проверки:

В ходе тестирования обнаружили, что только что установленная чистая CMS WordPress также периодически выдаёт ошибку 503.

Примерно за 2 месяца до этого мы проводили работы по модернизации сервера, в частности изменили режим работы Apache с Worker на Prefork, с целью получить возможность использовать PHP в режиме LSAPI, вместо медленного CGI. Было предположение, о том, что это могло повлиять, либо требуются какие-то дополнительные настройки Apache, но вернуть обратно режим Worker мы уже не могли. В ходе изменения режима работы Apache выполняется изменение всех конфигов сайтов, процесс не быстрый и не всё могло пройти гладко.

Корректировка настроек Apache так же не дала желаемого результата.

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

На данном этапе мы собрали имеющуюся информацию и результаты проведённых работ. С ними обратились в поддержку CloudLinux.

Детальная диагностика

В течение нескольких дней сотрудники поддержки CloudLinux вникали в проблему. В основном рекомендации были относительно установленных лимитов пользователей. Этот вопрос мы так же проверяли. При отключенных лимитах (Опция CageFS для пользователя) и с включенными лимитами в режиме PHP как модуль Apache проблема не наблюдалась. Исходя из этого, было сделано предположение, что каким-то образом оказывает влияние CloudLinux. В итоге, к концу недели запрос был эскалирован на 3-ий уровень поддержки, но решения пока не было.

Попутно изучали документацию Apache по режимам работы CGI и LSAPI, подняли второй экземпляр Apache на сервере хостинга на другом порту с тестовым сайтом, исключили влияние Nginx, отправляя запросы напрямую к Apache и получая те же коды ошибок.

Сдвинуться с мёртвой точки помогла документация LSAPI, как раз по диагностике 503 ошибки:
www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:php:503-errors
В секции Advanced Troubleshooting предлагается выполнять трассировку найденных в системе процессов:

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

При просмотре файлов трассировок, мы видим в некоторых одинаковые строки:

Если взглянуть на описание структуры сигналов, отправляемых процессами, то увидим, что

Указывает на идентификатор процесса, отправившего сигнал.

На момент изучения трассировок, процесса с PID 42053 в системе уже нет, поэтому в процессе захвата трассировок решили отслеживать так же процессы, отправившие сигнал SIGHUP.
Под спойлером описаны действия, которые позволили определить что это за процесс, а так же получить его трассировку и дополнительную информацию, о том, каким процессам он отправляет сигнал SIGHUP.

Ждём пока в консоли 1 появятся сообщения, при этом в консоли 4 видим статус запроса с кодом ответа 503, прерываем выполнение в консоли 4.

В итоге, получили название процесса /opt/alt/python37/bin/python3.7 -sbb /usr/sbin/cagefsctl —rebuild-alt-php-ini

Данный процесс выполнялся в системе с периодичностью раз в минуту.

Делаем трассировку нескольких процессов cagefsctl, чтобы отследить хотя бы один от начала до конца:

Далее изучаем что он делал, например:

Так же были получены идентификаторы процессов, которые были завершены сигналом SIGHUP. Завершённые процессы были процессами PHP, выполняющимися в данный момент.

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

Позже получили ответ, что работа команды /usr/sbin/cagefsctl —rebuild-alt-php-ini выполняется корректно, единственный нюанс в том, что команда выполняется слишком часто. Обычно вызывается при системном обновлении или изменении параметров PHP.

Единственная зацепка в данном случае осталась — проверить, кто является родительским процессом cagefsctl.

Результат не заставил себя долго ждать и какого же было наше удивление — родительским процессом для cagefsctl являлся процесс ispmgrnode. Это было немного странно, потому что уровень журналирования для ISP Manager был задан максимальным и в ispmgr.log не увидели вызов cagefsctl.

Теперь данных было достаточно, чтобы обратиться и в поддержку ISP System.

Итоги

Проблема была спровоцирована после выполнения обновления ISP Manager. В целом, обновление ISP Manager — штатная ситуация, но она привела к запуску процесса синхронизации, который завершался с ошибкой и перезапускался ежеминутно. Процесс синхронизации вызывал за собой процесс cagefsctl, который в свою очередь завершал процессы PHP.

Причиной зависания процесса синхронизации стали проведённые на хостинге работы по модернизации оборудования. За несколько месяцев до возникновения проблемы, в сервер был установлен PCI-e NVMe-накопитель, создан раздел XFS и смонтирован в каталог /var. На него были перенесены в том числе и файлы пользователей, но не обновились дисковые квоты. Опций монтирования было не достаточно, требовалось так же изменить тип файловой системы в параметрах ISP Manager, т.к. она вызывает команды обновления дисковых квот. Для Ext4 и XFS эти команды отличаются.

Таким образом, проблема дала о себе знать спустя несколько месяцев после проведения работ.

Выводы

Мы сами создали проблему, но это было не ясно до последнего момента. На будущее, будем стараться учесть как можно больше нюансов. Благодаря помощи более подготовленных коллег из поддержки CloudLinux и ISP System, проблема была решена. Теперь наш хостинг работает стабильно. А нами был получен опыт, который пригодится нам в будущей работе.

Ошибки 500, 502, 503, 504, 505

Коды ошибок 500, 502, 503, 504 говорят о том, что сервер в данный момент не может отобразить запрос из-за внутренней ошибки.

500 Internal Server Error

Самая распространенная внутренняя ошибка сервера. Код генерируется при любой проблеме, не имеющей отношения к остальным ошибкам, поэтому у его появления множество причин.

Некоторые причины появления ошибки 500

  • Ошибки при работе скриптов сайта.
  • Неверные директивы, указанные в файле .htaccess.

В редких случаях ошибка 500 может быть следствием внедрения в файлы сайта вредоносного кода.

Способы устранения ошибки 500 Internal Server Error

Проверьте логи ошибок веб-сервера. На хостинге RU-CENTER они размещены в каталоге /var/log, подробнее в статье. Если ситуация связана с ошибочными директивами в .htaccess, с ошибками в работе CGI-скриптов, с ошибками в файле конфигурации веб-сервера, вы увидите точную причину ошибки в логе веб-сервера и сможете её устранить.

Если ошибка возникает при работе PHP-скрипта, текст ошибки в лог может не попасть. В этом случае нужна дополнительная диагностика.

502 Bad Gatеway

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

Причины появления ошибки 502

  1. Веб-сервер выключен.
  2. При настройке веб-сервера допущена ошибка в конфигурации.
  3. Для работы сайта недостаточно оперативной памяти или других ресурсов. Например, при DDoS-атаке на сайт, когда на обработку «паразитных» запросов затрачиваются все имеющиеся у веб-сервера ресурсы.
  4. Произошла ошибка при работе с памятью в скрипте, что часто встречается при использовании старых версий PHP .
  5. Время выполнения скрипта превысило установленные на сервере ограничения.

Способы устранения ошибки 502 Bad Gatеway

  1. Проанализируйте текущий уровень общей нагрузки для сервера и в момент возникновения ошибки. На хостинге RU-CENTER это можно сделать в панели управления хостингом в разделе «Ресурсы» — «Статистика». Обратите внимание на пики потребления оперативной памяти.
  2. Проверьте лог-файл веб-сервера (/var/log/error_log). При обнаружении в нём подозрительных сообщений, связанных с выделением оперативной памяти, обратитесь в техподдержку.
  3. Проверьте оптимальность работы используемых на сайте скриптов, оцените скорость обработки запросов. Иногда долгое ожидание может быть связано с обработкой большого объёма данных или с обращением к внешним ресурсам. В этих случаях откажитесь от таких операций или выполните их оптимизацию.

503 Service temporarily unavailable

Ошибка означает, что в течение некоторого времени сервер не сможет обрабатывать запросы из-за технических неисправностей.

Причины появления ошибки 503

  1. Передача большого объёма данных.
  2. Превышено время ожидания загрузки.
  3. Большое количество запросов к серверу.
  4. На хостинге RU-CENTER данный код может выдаваться при обращении к сайту, которого на хостинге не существует.

Способы устранения ошибки 503 Service temporarily unavailable

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

504 Gateway Timeout

Код ошибки указывает, что серверу не хватило времени, чтобы получить ответ от другого сервера для завершения операции. Как правило, среднее время загрузки не должно превышать 1-3 секунды.

Причины появления ошибки 504

  1. Долгая обработка запроса скриптами сайта.
  2. Обработка большого количества данных.
  3. В ряде случаев причины появления ошибки 504 могут совпадать с аналогичными для ошибки 502.

Способы устранения ошибки 504 Gateway Timeout

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

Также для устранения ошибки можно попробовать увеличить в настройках PHP время выполнения скрипта (max_execution_time) и время получения данных (max_input_time).

Ошибка 505

Ошибка 505 появляется при использовании неподдерживаемой браузером версии HTTP.

Причины появления ошибки 505

  1. Заражение вирусом, который получил контроль над браузером или исходящим трафиком.
  2. Использование устаревшего браузера, не поддерживающего современные версии HTTP.
  3. Сервер не поддерживает новые версии протокола, по которым осуществляется соединение.

Способы устранения ошибки 505 HTTP Version not supported

  1. Поиск вирусов. Вредоносная программа может повредить и удалить файлы, необходимые браузеру для определения состояний.
  2. Обновление системы. Вы можете избежать не только появления ошибки 505, но и ряда других проблем, используя актуальную версию ОС и/или браузера. Если вы отключили автоматические обновления, рекомендуем скачать и установить их.

Если ошибка 505 возникла при обращении к вашему сайту, проверьте актуальность используемого программного обеспечения на веб-сервере.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: