Ошибка 502 Bad Gateway
Эта статья поможет разобраться, почему на сайтах время от времени появляется ошибка 502 Bad Gateway и как эту проблему устранить.
Если эта ошибка возникает, значит HTTP-запросы от клиентов до вашего сайта идут через какой-то шлюз. Например, если на хостинге перед веб-сервером Apache стоит веб-сервер nginx, то nginx будет шлюзом.
502-ая ошибка означает, что запрос от клиента прошел nginx, попал к Apache, и Apache не смог запрос обработать, о чем сообщил nginx’у. В результате nginx отдает клиенту ошибку.
Почему Apache не смог обработать запрос? Как это исправить?
Скорее всего, если сайт раньше работал, а теперь не открывается, дело не в конфигурации среды. Часто причина в нехватке ресурсов сервера, и, следовательно, в невозможности обслужить всех клиентов. В частности, проблема может быть в нехватке оперативной памяти. Такое может случиться и на VPS, и на shared-хостинге.
Если PHP работает через FastCGI, то на сервере может не хватать php-cgi процессов в моменты, когда на сайте много посетителей, заглянул прожорливый бот или кто-то рьяно скачивает ваш сайт целиком для изучения в офлайне. Веб-сервер хотел бы запустить дополнительные процессы, но памяти под них уже нет. Значит, нужно добавить памяти либо оптимизировать расход доступной.
Если команда top показывает, что память есть, возможно, дело в установленных лимитах на количество php-cgi процессов. Нужно смотреть конфигурационные файлы Apache (httpd.conf), особенно секцию модуля, отвечающего за FastCGI (mod_fascgi или mod_fastcgid).
Если проблемы регулярно возникают на обычном shared-хостинге, возможно имеет место оверселлинг или сервер плохо настроен. Подумайте о смене провайдера.
- Hits: 26000