Ошибки 500, 502, 503, 504 на сайте

Ошибка 500 на виртуальном хостинге "Internal Server Error"

Когда возникает и что такое внутренняя ошибка 500 сервера?

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

Причинами появления ошибки на виртуальном хостинге могут быть:

  • Неверный синтаксис файла .htaccess  или наличие в нем неподдерживаемых директив. Чаще всего достаточно закомментировать директиву Options (для этого нужно поставить в начале строки решетку — #), и проблема исчезнет.

    Также может помочь замена текущего файла .htaccess на стандартный для вашей CMS.

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

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

    Для решения проблемы, вы можете: 

    - увеличить интервал запуска заданий CRON; 

    - ограничить количество IMAP-соединений в настройках почтового клиента: Ограничение IMAP-соединений;

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

  • Установлены некорректные права на файлы и каталоги сайта. В некоторых случаев корректными правами для каталогов являются «755», а для файлов — «644». Проверьте их правильность и при необходимости измените права на файлы и папки.
  • Ошибка в скриптах. Если существует ошибка в скрипте, или при наличии функции, которая не выполняется. Для успешного запуска скрипта функция должна быть верно прописана, поддерживаться сервером и выполняться от используемой версии PHP. Бывают ситуации, когда функция несовместима с определенными версиями PHP. Получить более подробную информацию о той или иной функции можно в интернете.
  • Не хватает оперативной памяти. Если в логах вы видите ошибку «Allowed memory size», для устранения ошибки 500 стоит оптимизировать работу скрипта. Вы можете воспользоваться специальными расширениями для анализа производительности скрипта или обратиться за помощью к специалисту, который поработает над его оптимизацией. Если ваш сайт размещен на отдельном физическом или виртуальном сервере, можно попробовать увеличить максимальное использование оперативной памяти на процесс (memory_limit). На шаред хостинге этот параметр обычно не изменяется, но есть возможность перейти на VPS. 

Если вам не удалось самостоятельно устранить ошибку 500, обратитесь в техподдержку.

Ошибка 502 на виртуальном хостинге "Bad Gateway"

Ошибка 502 возникает когда Apache работает в связке с Nginx. Запрос от пользователя прошел через NGINX к Apache но тот в свою очередь вернул нулевой результат прокси-серверу NGINX.

Причина возникновения ошибки 502 может быть несколько:

  • Дочерний процесс apache не смог обработать поступивший к нему запрос и завершился досрочно. Зачастую это связано с ошибкой в скрипте сайта или нехваткой памяти для выполнения процесса. Начните свой поиск error 502, в таком случае с логов ошибок сайта. Вполне возможно там будет информация, которая привела к возникновению этой ошибки. Но зачастую лог не содержит ничего полезного по этой проблеме, поскольку процесс апач завершился досрочно. Если это так, разбейте свой скрипт на участки, и выполняйте их поочередно. Это должно помочь найти 502 error.
  • Процесс Apache завершился по таймауту и не вернул в поток вывода никаких данных. Обычно это связано с длительным выполнением скрипта, либо зацикливанием в нем. Чтоб не получать 502 bad gateway, когда скрипт выполняется длительное время, лучше его запускать из консоли, а в случае если скрипт запускается регулярно, поставить его на CRON. 
  • Запущено максимальное количество процессов. На услугах виртуального хостинга установлено ограничение в 20 одновременно запущенных процессов (посмотреть все ограничения). Если этот лимит будет достигнут, новый процесс не сможет запуститься и возникнет ошибка. 

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

    Для решения проблемы, вы можете: 

    - увеличить интервал запуска заданий CRON; 

    - ограничить количество IMAP-соединений в настройках почтового клиента: Ограничение IMAP-соединений;

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

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

Если 502 ошибка возникает регулярно, напишите заявку в службу поддержки. В заявке укажите:

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

Ошибка 502 на VPS

Чаще всего на VPS используется связка: Nginx + бэкенд-сервер (Apache, PHP-FPM, Gunicorn, NodeJS). Ошибка 502 возникает в случае, если Nginx не может получить ответ от этих сервисов. 

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

  • Какой-то из сервисов выключен. Необходимо перезапустить веб-сервер Apache, PHP-FPM либо другой сервис, с которым работает Nginx.
  • Между Nginx и бэкенд-сервером некорректно настроена связь. Например, Nginx производит обращение к порту 8080, а веб-сервер Apache «слушает» на 8081. В этом случае необходимо скорректировать настройки веб-сервера. 

Если вам не удалось самостоятельно устранить ошибку 500, обратитесь в техподдержку.

Ошибка 503 на виртуальном хостинге "Service Temporarily Unavailable"

У каждого аккаунта на сервере хостинга есть определенное количество рабочих процессов, выделенное в соответствии с выбранным тарифным планом. Работа с запросами ведется в порядке очереди, они поступают на сервер, где легкие запросы обрабатываются мгновенно, а тяжелые – медленно. Всякая очередь ограничена тем или иным количеством запросов. Если новый запрос находится за пределами этой границы, принят он не будет, и вместо результата браузер выдаст оповещение “Сервис временно недоступен”. Ошибка может возникнуть из-за превышения лимита на количество PHP-процессов. Согласно техническим ограничениям на тарифных планах виртуального хостинга.

Причины возникновения данной ошибки:

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

    - Проверить наличие у вас медленных запросов - в папке logs вашего аккаунта создается файл mysql-slow.log. Информация в этом файле обновляется раз в сутки и содержит только самые проблемные SQL-запросы. 

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

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

  2. Большое количество запросов к серверу. Причин возникновения таких запросов несколько: 

- Загружаемый ресурс разбит/содержит ссылки на слишком больше число файлов (картинки, таблицы стилей JS-скрипты), которые подгружаются через отдельные запросы. В этом случае следует объединить ресурсы в один файл, где это возможно.

  • DDoS-атаки, флуды, спамы в комментарии также могут вызывать большое количество запросов. В случае DDoS-атаки необходимо определить ее тип, и, согласно ее уровню, предпринять действия по устранению, воспользовавшись услугой анти-ддос защитой на уровнях L3-L7.

Ошибка 504 на виртуальном хостинге "Gateway timeout"

Эта ошибка может возникнуть в случае, если для Nginx был превышен лимит на время ответа сайта (по умолчанию 30 секунд). Как правило, среднее время загрузки сайта не должно превышать 1-3 секунды.

Если раньше такой ошибки не наблюдалось, обратитесь в техподдержку

Если скрипты вашего сайта должны выполняться свыше 30 секунд (например, выгрузка базы данных или обмен с 1С), вы можете обратиться к сайту по порту 8081 (для ISPmanager), минуя веб-сервер Nginx.

Если этот вариант вам не подходит, рекомендуем перенести ваш сайт на VPS, на котором доступна гибкая настройка сервера, в том числе и лимитов. Для этого закажите услугу «VPS» .

Ошибка 504 на VPS

Эта ошибка может возникнуть в случае, если для Nginx был превышен лимит на время ответа сайта (по умолчанию 30 секунд). Как правило, среднее время загрузки сайта не должно превышать 1-3 секунды. Чтобы избавиться от этой ошибки, попробуйте повысить время ожидания веб-сервера Nginx.

Если скрипты вашего сайта должны выполняться свыше 30 секунд (например, выгрузка базы данных или обмен с 1С), вы можете обратиться к сайту по порту 8081 (для ISPmanager), минуя веб-сервер Nginx. 

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

Добавьте следующие строки в блоке server в ваш файл nginx.conf:

#server {
#...

proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;

#...
#}

Затем перезапустите Nginx с помощью команды service nginx reload

Если решить проблему не удалосьобратитесь в техподдержку

  • Service unavailable, ошибка 500, 502, 503, 504
  • 0 Пользователи нашли это полезным
Помог ли вам данный ответ?

Похожие статьи

ОШИБКА 500 "INTERNAL SERVER ERROR" НА СЕРВЕРЕ

Ошибка 500 на виртуальном хостинге "Internal Server Error" Когда возникает и что такое...

ОШИБКА 502 "BAD GATEWAY" КАК ЕЕ ИСПРАВИТЬ?

Ошибка 502 на виртуальном хостинге "Bad Gateway" Ошибка 502 возникает когда Apache работает в...

КАК УСТРАНИТЬ ОШИБКУ 503 "SERVICE TEMPORARILY UNAVAILABLE"?

Ошибка 503 на виртуальном хостинге "Service Temporarily Unavailable" У каждого аккаунта на...

ОШИБКА 504 "GATEWAY TIMEOUT"

Ошибка 504 на виртуальном хостинге "Gateway timeout" Эта ошибка может возникнуть в случае, если...

ОШИБКА 403 FORBIDDEN

Ошибка 403 Как правило, ошибка 403 возникает из-за неточностей при размещении сайта на хостинге....

Powered by WHMCompleteSolution