Ответы:
Проверьте: 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
я получаю Syntax OK
, но когда я бегу, apache2 -t
я получаю AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf
(среди других ошибок)
Тест конфигурации Apache ( apachectl configtest
или его эквиваленты) проверяет только допустимый синтаксис файла конфигурации (и файлов, которые он включает в себя). Тем не менее, оригинальный вопрос задан для предотвращения простоя. Даже если apachectl configtest
ошибка не возвращается, фактический перезапуск может все же привести к сбою, что приводит к простою.
Распространенными причинами таких сбоев являются отсутствующие или недоступные сертификаты SSL, отсутствующие каталоги для файлов журналов или отсутствующий корневой каталог веб-сайта. Часто такие ошибки вызваны удалением каталога vhost без удаления файла конфигурации vhost Apache. Настоятельно рекомендуется использовать такой инструмент, как марионетка или ansible, чтобы предотвратить такие несоответствия.
Видя, что этот вопрос является хитом номер один при поиске "apache config lint", я подумал, что упомяну эту маленькую деталь ...
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message