Ich suche nach einem Befehl, der die Gültigkeit der Konfigurationsdateien im Apache-Server auf Debian- und RHEL-Distributionen überprüft. Ich muss dies vor dem Neustart tun, damit es keine Ausfallzeiten gibt.
apache-2.2
configuration
Sigtran
quelle
quelle
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
Ein anderer Weg ist
httpd -t
. Daher ist es in der Windows-Version von Apache verfügbar. Überprüfen Sie http://httpd.apache.org/docs/2.4/programs/httpd.htmlquelle
apachectl configtest
bekomme ichSyntax OK
, aber wenn ich laufe,apache2 -t
bekomme ichAH00526: Syntax error on line 74 of /etc/apache2/apache2.conf
(unter anderem)apachectl configtest
ist die richtige Antwort. Leider habe ich eine Windows-Installation, bei der apachectl fehlt. Hierhttpd
hilft auch telefonieren.quelle
Der Apache-Konfigurationstest (
apachectl configtest
oder seine Entsprechungen) überprüft nur die Konfigurationsdatei (und die darin enthaltenen Dateien rekursiv) auf gültige Syntax. Die ursprüngliche Frage betraf jedoch die Vermeidung von Ausfallzeiten. Selbst wennapachectl configtest
kein Fehler zurückgegeben wird, kann ein tatsächlicher Neustart dennoch fehlschlagen und Ausfallzeiten verursachen.Häufige Ursachen für solche Fehler sind fehlende oder nicht zugreifbare SSL-Zertifikate, fehlende Verzeichnisse für Protokolldateien oder ein fehlendes Website-Stammverzeichnis. Häufig werden solche Fehler durch das Entfernen des Verzeichnisses eines vhost verursacht, ohne die vhost-Apache-Konfigurationsdatei zu entfernen. Es wird dringend empfohlen, ein Werkzeug wie Marionette oder Ansible zu verwenden, um solche Inkonsistenzen zu vermeiden.
Angesichts der Tatsache, dass diese Frage der Hit Nummer eins beim googeln von "apache config lint" ist, dachte ich, ich würde dieses kleine Detail erwähnen ...
quelle