Відповіді:
Перевірте: 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. Настійно рекомендується використовувати такий інструмент, як маріонетка або ансіб, щоб запобігти подібним невідповідностям.
Побачивши, що це питання є хітом номер один, коли гуглінг "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