Ошибки 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. В этом случае необходимо скорректировать настройки веб-сервера. 

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

Ошибка 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
  • 34 Пользователи считают это полезным
Помог ли вам данный ответ?

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

Ошибка 500 "internal server error" на сервере

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

Ошибка 502 "bad gateway" как ее исправить

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

Ошибка 503 "Service Temporarily Unavailable"

У каждого аккаунта на сервере хостинга есть определенное количество рабочих процессов, выделенное...

Ошибка 504 "gateway timeout"

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

Ошибка 403 forbidden

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

Powered by WHMCompleteSolution