Вебсервер Apache не перезагружается или не стартует - диагностика
Метки: Apache | мониторинг
Четверг, 5 февраля 2009 г.
Просмотров: 18698
Подписаться на комментарии по RSS
Вопрос: Мой вебсервер под управлением CentOS Apache 2 (httpd) не стартует. Он отлично работал, но я сделал несколько изменений в httpd.conf и не могу его перегрузить. Что я могу сделать для диагностики и решения этой проблемы?
Ответ: Если httpd / Apache не перезапускается, есть несколько способов понять в чем заключается проблема. Подключитесь к серверу и выполните нижеследующие указания. Всегда делайте резервную копию существующего файла httpd.conf и других конфигов перед их изменением.
Проверьте верность синтаксиса конфига
Apache всегда включает в себя проверку синтаксиса конфигурационного файла. Запустить проверку можно следующим образом.:
<code># httpd -t # httpd -S</code>
Результат команды:
Syntax OK
ВЫ должны увидеть сообщение "Syntax OK" если конфиг в порядке. Если это не так, вы увидите к примеру следующее сообщение:
Syntax error on line 29 of /usr/local/etc/apache22/httpd.conf: Invalid command 'ServerRoot1', perhaps misspelled or defined by a module not included in the server configuration
Вы можете использовать редактор vi для открытия файла в данном месте и отредактировать его:
<code># vi +29 /usr/local/etc/apache22/httpd.conf</code>
Проверка файла ошибок Apache
Некоторые ошибки отображаются прямо в консоле, но не всегда. Вы можете проверить файл ошибок на предмет существования проблемы:
<code>tail -f /var/log/httpd-error.log egrep -i 'warn|error' /var/log/httpd-error.log</code>
Конфигурация DNS
Убедитесь что у вас корректо работает резолвинг DNS имен и что в параметре ServerName файла httpd.conf установлено корректное имя хоста. Директива ServerName указывает какое имя сервера и порт используется. Часто это определяется автоматически, но в случае возникновения проблем мы рекомендуем вам все тщательно проверить. Если вы не имеете доменного имени, укажите тут IP
<code>ServerName server.cyberciti.com</code>
Проверьте своё имя хоста из командной строки и поставьте его в файле httpd.conf:
hostname hostname -f server.cyberciti.com
Проверка размера логов Apache / PHP / Python / CGI
В большинстве случаев большие лог файлы, более 2 гигабайт вызывают проблемы или ошибку 500. Убедитесь что ваши лог файлы имеют меньший размер. Если они больше, мы можете переместить их или удалить. Используйте утилиту logrotate, которая разработана для упрощения это процесса и автоматической ротации лог файлов. Используйте команду ls -lh для просмотра размеров лог файлов:
<code># ls -lh /var/log/httpd*</code>
Проверка порта 80 и 443
Возможно что какой то другой процесс использует нужные нам порты 80 или 443. Используйте команду netstat для просмотра открытых портов и сервисов, использующих их:
<code># netstat -tulpn</code>
<code> # netstat -tulpn | grep</code>
<code> # netstat -tulpn | grep ''</code>
Если другой процесс использует порт 80 / 443, вам необходимо остановить его или назначить для Apache другой порт.
Постовой
Компания ООО «Стройкомплект» является лидером по производству пеноблока в Москве. Посетите наш сайт и убедитесь, что лучших цен по Москве вы просто не найдете. Прямо на сайте, воспользовавшись калькулятором расчета стоимости заказа, вы можете просчитать свои затраты.
Еще записи по теме
- Мониторинг вашего вебсайта в реальном времени с помощью Apachetop
- Apache2 авторизация через MySQL backend
- Узнаем версию веб-сервера и установленного на нем ПО
- Прячем версию Apache
- Руководство по установке SwitchMap в CactiEZ
- Установка MyDNS и MyDNSConfig 3 в Fedora 10, часть 1
- Блокировка IP адресов и подсететей в Nginx
Оставьте комментарий!