В процессе работы любого веб-ресурса периодически возникают ошибки. Они могут быть связаны как с серверной стороной, так и с клиентской. Чаще всего проблемы возникают на стороне сервера. Чтобы их устранить, сначала нужно определить их вид. Данную информацию можно узнать благодаря коду ошибки.
Классификация кодов
Существуют такие коды сервера:
- 1хх – информационный статус, сообщающий о принятии еще необработанного запроса;
- 2хх – успешное выполнение отправленного запроса;
- 3хх – успешное перенаправление отправленного запроса;
- 4хх – серьезная ошибка с клиентской стороны, из-за которой файл не может быть отправлен пользователю;
- 5хх – серьезная ошибка с серверной стороны.
У владельцев веб-ресурсов наибольший интерес вызывают коды, которые указывают на ошибку с серверной стороны. Чтобы устранить данные ошибки, сначала необходимо разобраться с причинами их появления.
Ошибка 500
Коды ошибок сервера необходимо рассматривать с самой распространенной проблемы – Internal Server Error (ошибка 500). Данный код свидетельствует о наличии внутренней серверной ошибки. Она может быть обусловлена:
- Невозможностью запуска скрипта. Такая проблема возникает при указании некорректных прав доступа на файлы, которые находятся на хостинге. Если в правах доступа указано «777», то существует высокая вероятность блокировки скриптов со стороны сервера. Такая проблема возникает из-за того, что данные права доступа предоставляют возможность любому пользователю изменять файлы скриптов. Из-за этого уровень безопасности веб-ресурса оставляет желать лучшего. Для предотвращения этой проблемы необходимо выполнить проверку и в случае необходимости изменение прав доступа. Для папок потребуется установка «755», для скриптов – «600», для других файлов – «644».
- Некорректной инструкцией в .htaccess. Подобные коды ошибок сайта так же возникают из-за того, что в файле .htaccess есть директивы, которые не поддерживаются. Данная проблема чаще всего возникает, если владелец сайта допустил ошибку в написании требуемой директивы или ее параметров. Чтобы избавиться от этой ошибки, нужно включить лог error.log. В таком случае сервер определит некорректно указанные директивы. После этого владелец сайт должен их исправить.
Ошибка 502
Рассматривая коды ошибок сервера, нельзя не обратить внимание на Bad Gateway. Эта ошибка появляется, если сервер дал на запрос некорректный ответ. Ее появление может быть обусловлено:
- Проблемами с прокси-сервером. Чтобы устранить данные проблемы, сначала нужно указать в браузерной строке поиска ссылку на любой другой веб-ресурс. Это действие позволит проверить наличие доступа в сеть. Если в ходе проверки ошибку 502 осталась, потребуется удаление файлов «куки».
- Недостаточным количеством ресурсов. Данная проблема может свидетельствовать о том, что нагрузка, которая ложится на сервер, существенно превышает возможности, доступные пользователю хостинга. Поэтому при возникновении ошибки 502 целесообразно обратиться к хостеру и уточнить информацию относительно тарифного плана и доступного объема ресурсов. Если проблема заключается в нехватке ресурсов, потребуется выбор тарифа, который позволит увеличить ОЗУ и доступный объем дискового пространства.
Ошибка 503
Рассматривая наиболее распространенные коды ошибок сайта, нужно вспомнить и о Service Temporarily Unavailable. Говоря об этой ошибке, необходимо напомнить, что у любого клиента хостинга есть четко определенное число рабочих процессов. Этот показатель зависит от тарифа. Запросы обрабатываются в порядке очереди. При этом обработка простых запросов происходит практически мгновенно, сложных – довольно медленно.
Очередь этих запросов ограничена определенным количеством. Поэтому если новый запрос не попал в очередь, сервер его не обработает, а браузер сообщит об ошибке: «Сервис временно недоступен».
Устранение ошибки возможно только в случае определения причины ее возникновения. Существует 2 основных причины:
- зависание скриптов во время передачи больших файлов;
- превышение допустимого числа запросов.
Если говорить о первой причине, то нужно отметить, что скрипты доступны ограниченное количество времени. По окончанию этого времени происходит прерывание передачи файла. Следовательно, он не будет передан полностью. При этом обработка запроса продолжится еще довольно длительное время. Чтобы устранить данную ошибку, можно предпринять такие действия:
- Проверка компонентов CMS. Чтобы проверить каждый компонент, необходимо отключать их по очереди. В результате такой проверки можно найти испорченные плагины, способствующие замедлению сайта. Подобные компоненты желательно заменить на более быстрые аналоги.
- Проверка медленных запросов. Для этого потребуется создание в папке logs файла mysql-slow.log. Он обновляется один раз в день. В нем будут содержаться исключительно проблемные SQL-запросы.
- Проверка PHP-скриптов на наличие локального пути, а не URL в формате http://. Если используется URL, то сервер будет выполнять ненужный HTTP-запрос, который и станет причиной замедления загрузки сайта.
Если ошибка 503 вызвана избыточным числом запросов, то она может быть обусловлена двумя причинами. Во-первых, сайт может содержать ссылки на чрезмерно большое число файлов, требующих подгрузки через отдельные запросы. В такой ситуации потребуется объединение ресурсов в один файл.
Во-вторых, избыток запросов может быть обусловлен ДДоС-атаками, флудом и спамом в комментариях. Если проблема заключается в ДДоС-атаке, то потребуется определение ее вида и уровня. На основании этих данных нужно предпринять действия по устранению данной проблемы.
В заключение стоит сказать и об ошибке 522. Она свидетельствует о перегруженности сервера. В этой ситуации браузер предлагает пользователям повторить попытку обращения к сайту через некоторое время.