500 ошибка на сервере: почему она возникает, и как ее устранить
- Что значит внутренняя ошибка сервера 500
- Коды 5xx: чем 500 отличается от 502, 503 и 504
- Почему появляется ошибка 500
- Где искать причину: логи сервера
- Влияние ошибки 500 на SEO
- Что делать обычному пользователю
- Что делать владельцу или администратору сайта
- Восстановление из резервной копии
- Частые вопросы
- Что значит ошибка 500 на сайте?
- Кто виноват - я или сайт?
- Ошибка 500 - это надолго?
- Чем 500 отличается от 502 и 503?
- Влияет ли ошибка 500 на SEO?
Ошибка 500 (500 Internal Server Error, внутренняя ошибка сервера) означает, что браузер отправил корректный запрос, но сервер не смог его обработать и не нашёл более точного кода, чтобы описать сбой. Проще говоря: проблема на стороне сайта или сервера, а не у вас. Ниже разберём, что значит эта ошибка, чем она отличается от соседних 502, 503 и 504, почему появляется и как её устранить - отдельно для обычного посетителя и для владельца или администратора сайта.
Что значит внутренняя ошибка сервера 500
Когда вы открываете страницу, браузер отправляет на сервер запрос. Сервер его принимает, обрабатывает и возвращает обратно содержимое страницы (HTML, CSS, скрипты) вместе с кодом состояния HTTP. Этот код сообщает, чем закончился запрос: например, 200 - всё в порядке, страница отдана.
Код 500 означает, что на сервере произошло что-то непредвиденное, и выполнить запрос не удалось. Это самый общий из серверных кодов: его отдают тогда, когда сервер не может назвать более конкретную причину. Сообщение может выглядеть по-разному - «500 Internal Server Error», «Internal Server Error», «На сервере произошла ошибка» или просто «Что-то пошло не так», - оформление зависит от настроек сайта.
Ошибка 500 не связана с вашим браузером, устройством или интернетом - сбой произошёл на самом сервере, поэтому вы увидите её где угодно. Для посетителя это обычно тупик, а вот для владельца сайта - сигнал, что с ресурсом что-то не так и нужно разбираться.
Коды 5xx: чем 500 отличается от 502, 503 и 504
Коды, которые начинаются с пятёрки, - это группа серверных ошибок (5xx). Их часто путают, хотя причины у них разные. Понять, какой именно код вы видите, важно: это сразу подсказывает, где искать проблему.
| Код | Название | Что значит |
|---|---|---|
| 500 | Internal Server Error | Общий сбой на сервере, конкретную причину он назвать не смог |
| 501 | Not Implemented | Сервер не поддерживает метод запроса |
| 502 | Bad Gateway | Прокси или шлюз получил некорректный ответ от вышестоящего сервера |
| 503 | Service Unavailable | Сервер перегружен или остановлен на обслуживание, временно недоступен |
| 504 | Gateway Timeout | Шлюз не дождался ответа от вышестоящего сервера (таймаут) |
Если вы видите именно 500, а не 502 или 504, скорее всего дело не в шлюзе и не в таймауте, а в самом приложении на сервере: коде сайта, правах доступа, базе данных или нехватке ресурсов. Полный разбор остальных кодов - в статье про расшифровку ошибок сервера.
Почему появляется ошибка 500
Внутреннюю ошибку сервера вызывает не одна конкретная причина, а целый набор ситуаций. Самые частые:
- неправильные права доступа к файлам и каталогам сайта;
- ошибка в коде или синтаксисе скрипта (PHP, CGI/Perl);
- повреждённый или некорректный файл
.htaccess; - исчерпан лимит памяти PHP (
memory_limit) или превышено время выполнения скрипта; - повреждённая база данных или потеря связи с ней;
- несовместимый или сбойный плагин, тема, обновление;
- перегрузка сервера или нехватка ресурсов - процессора, памяти, места на диске.
Чаще всего виноваты права доступа и нехватка ресурсов. Если сайт стоит на хостинге с жёсткими лимитами памяти, под нагрузкой он легко упирается в потолок и отдаёт 500. Устранить такую причину может только владелец сайта или его администратор - со стороны посетителя тут сделать нечего.
Где искать причину: логи сервера
Гадать о причине 500 не нужно - её почти всегда видно в логе ошибок сервера. Это первое, куда стоит заглянуть администратору. Где лежит лог:
- nginx -
/var/log/nginx/error.log; - Apache -
/var/log/apache2/error.log(Debian, Ubuntu) или/var/log/httpd/error_log(CentOS, RHEL); - PHP-FPM - отдельный лог пула, путь задан в его конфиге.
Посмотреть последние строки можно командой tail -n 50 /var/log/nginx/error.log, а tail -f покажет лог в реальном времени - удобно, чтобы воспроизвести ошибку и сразу увидеть запись о ней. В строке обычно есть время, тип ошибки и подсказка: нехватка прав, превышен лимит памяти, упал процесс PHP-FPM, синтаксическая ошибка в скрипте. Это сужает поиск с «непонятно что» до конкретного файла.
Лог ошибок - первое, куда стоит смотреть при 500. В девяти случаях из десяти причина уже записана там, и не нужно тратить время на догадки. Выбор между Apache и nginx и их настройка влияют на то, как сервер обрабатывает запросы и пишет логи, - об этом подробнее в материале Apache или nginx: что выбрать.
Влияние ошибки 500 на SEO
Долго висящая ошибка 500 вредит позициям сайта в поиске. Поисковые роботы регулярно обходят страницы: если страница работает, её содержимое индексируется. Когда робот натыкается на ошибку, он какое-то время сохраняет прежний статус страницы, давая владельцу шанс всё починить. Но если при следующих визитах ошибка повторяется, страница выпадает из выдачи.
Массовые ошибки 500 поисковики читают как признак низкого качества и проблем с доступностью - такой сайт ранжируется ниже. Поэтому следить за кодами ответа стоит постоянно: в Яндекс.Вебмастере и Google Search Console видно, какие страницы отдают 5xx. После починки страницу можно вернуть в индекс, отправив на переобход.
Что делать обычному пользователю
Если вы наткнулись на ошибку 500 на чужом сайте, в большинстве случаев от вас ничего не зависит - причина на сервере. Но пара действий иногда помогает:
- Обновите страницу. Нажмите F5, а чтобы обновить минуя кэш - Ctrl+F5 или Ctrl+Shift+R (Windows, Linux), Cmd+R или Cmd+Shift+R (macOS). Помогает, если сбой был из-за разовой перегрузки.
- Зайдите позже. Часто это временная неполадка, и владелец чинит её за минуты. Подождите и попробуйте снова.
- Откройте сайт с другого устройства или сети. Например, с телефона по мобильному интернету - так вы поймёте, проблема общая или локальная.
- Очистите кэш и cookie браузера для этого сайта - изредка ошибку вызывают устаревшие данные на вашей стороне.
- Сообщите владельцу сайта, если ошибка не проходит. Для него это ценный сигнал.
Отдельный случай - ошибка при оформлении заказа в интернет-магазине. Не обновляйте страницу вслепую: заказ может продублироваться. Сначала проверьте, не оформился ли предыдущий.
Что делать владельцу или администратору сайта
Если ошибка 500 появилась на вашем ресурсе, действуйте по порядку:
- Загляните в лог ошибок (см. раздел выше). В девяти случаях из десяти причина уже там - не тратьте время на догадки.
- Откатите последнее изменение. Вспомните, что меняли перед сбоем: обновление, новый плагин, тему, правку кода. Чаще всего откат этого изменения полностью убирает ошибку. На WordPress плагины легко отключить по одному, чтобы найти виновника.
- Проверьте
.htaccess. Неверная строка в этом файле - частая причина 500. Временно переименуйте его и проверьте, ушла ли ошибка; если да - ищите ошибку построчно. - Проверьте настройки PHP. Поднимите
memory_limitиmax_execution_time, если в логе видно нехватку памяти или таймаут. - Проверьте права доступа к файлам и каталогам - типичные значения 644 для файлов и 755 для папок.
- Оцените нагрузку и ресурсы. Если сервер упирается в процессор, память или диск, 500 будет повторяться под нагрузкой. Здесь помогает диагностика и нагрузочное тестирование веб-сервера - оно покажет, где узкое место.
Если ничего не помогло и причина так и не нашлась, обратитесь к хостинг-провайдеру или разработчику сайта: у них есть доступ к более подробным журналам.
Восстановление из резервной копии
Когда ничего не помогает, а сайт нужно поднять срочно, выручает резервная копия - откат к рабочему состоянию до сбоя. Это возможно, только если вы регулярно делаете бэкапы файлов и баз данных. Поэтому резервное копирование стоит настроить заранее, ещё до первого сбоя: подробнее о подходах в обзоре технологий резервного копирования.
Частые вопросы
Что значит ошибка 500 на сайте?
Что сервер не смог обработать запрос и не нашёл более точной причины. Сбой на стороне сайта или сервера, а не у посетителя.
Кто виноват - я или сайт?
Почти всегда сайт. Ошибка 500 возникает на сервере, поэтому исправить её может только владелец или администратор ресурса.
Ошибка 500 - это надолго?
Обычно нет. Если это разовая перегрузка, страница заработает через минуты. Если причина в коде или настройках, всё зависит от того, как быстро её найдут по логам.
Чем 500 отличается от 502 и 503?
500 - общий сбой в самом приложении. 502 - шлюз получил битый ответ от вышестоящего сервера. 503 - сервер перегружен или на обслуживании. Точный код подсказывает, где искать проблему.
Влияет ли ошибка 500 на SEO?
Если она держится долго, да: страница может выпасть из поиска, а сайт - просесть в ранжировании. Разовые ошибки, которые быстро чинят, на позиции почти не влияют.
Ошибка 500 повторяется из-за перегрузки или нехватки ресурсов?
Это сигнал, что сайту тесно на текущем железе. Инженеры ITTELO помогут подобрать сервер под вашу нагрузку, соберут и протестируют конфигурацию под задачу перед отгрузкой, с гарантией и поддержкой. На рынке серверов 11+ лет.


