Я ищу команду, которая проверяет достоверность файлов конфигурации на сервере Apache в дистрибутивах Debian и RHEL. Это нужно сделать до перезагрузки, чтобы не было простоев.
Проверьте: http://httpd.apache.org/docs/2.2/programs/apachectl.html
apachectl configtest
Другой способ httpd -t
. Поэтому он доступен в Windows-версии Apache. Проверьте http://httpd.apache.org/docs/2.4/programs/httpd.html
apachectl configtest
правильный ответ. К сожалению, у меня есть установка Windows, в которой отсутствует apachectl. Здесь звонит httpd
тоже помогает.
Тест конфигурации Apache (apachectl configtest
или его эквиваленты) проверяет только файл конфигурации (и файлы, которые он рекурсивно включает) на предмет допустимого синтаксиса. Однако первоначальный вопрос касался предотвращения простоев. Даже когда apachectl configtest
не возвращает ошибку, фактический перезапуск все равно может завершиться неудачно, что приведет к простою.
Общие причины таких сбоев включают отсутствие или недоступность сертификатов SSL, отсутствие каталогов для файлов журналов или отсутствие корневого каталога веб-сайта. Часто такие ошибки вызываются удалением каталога vhost без удаления файла конфигурации vhost Apache. Настоятельно рекомендуется использовать такой инструмент, как марионетка или анзибль, чтобы предотвратить такие несоответствия.
Видя, что этот вопрос является хитом номер один при поиске в Google "apache config lint", я подумал, что упомяну эту небольшую деталь ...
Я обычно делаю
apache2ctl -t && apache2ctl graceful