Odpowiedzi:
Sprawdź: http://httpd.apache.org/docs/2.2/programs/apachectl.html
apachectl configtest
Innym sposobem jest httpd -t
. Dlatego jest dostępny w wersji Apache dla Windows. Sprawdź http://httpd.apache.org/docs/2.4/programs/httpd.html
apachectl configtest
, dostaję Syntax OK
, ale kiedy uruchamiam apache2 -t
, dostaję AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf
(między innymi błędy)
apachectl configtest
jest poprawną odpowiedzią. Niestety mam instalację systemu Windows, w której brakuje apachectl. Tutaj httpd
również dzwonienie pomaga.
Test konfiguracji Apache ( apachectl configtest
lub jego odpowiedników) testuje tylko plik konfiguracyjny (i pliki, które rekursywnie zawiera) pod kątem poprawnej składni. Jednak pierwotne pytanie dotyczyło zapobiegania przestojom. Nawet jeśli apachectl configtest
nie zwróci błędu, faktyczny restart może się nie powieść, powodując przestoje.
Typowe przyczyny takich awarii to brakujące lub niedostępne certyfikaty SSL, brakujące katalogi plików dziennika lub brakujący katalog główny witryny. Często takie błędy są powodowane przez usunięcie katalogu vhosta bez usuwania pliku konfiguracyjnego Apache vhosta. Zdecydowanie zaleca się stosowanie narzędzia takiego jak marionetka lub ansible, aby zapobiec takim niespójnościom.
Widząc, że to pytanie jest strzałem w dziesiątkę, kiedy google przeglądam „Apache lint config”, pomyślałem, że wspomnę o tym drobnym szczególe ...
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