NGINX-Fehlstart ist in der Regel aufgrund einer fehlerhaften Konfiguration, eines fehlenden Include/Zertifikatsdateis, eines unbekannten Befehls oder eines Portkonflikts auf 80/443 zurückzuführen. Die sicherste Methode ist nicht blind den Dienst neu zu starten, sondern mit nginx -t und systemd-Log den ersten realen Fehler zu korrigieren.
nginx: [emerg] unexpected "}" in /etc/nginx/conf.d/example.conf:42
nginx: configuration file /etc/nginx/nginx.conf test failed
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
NGINX liest und überprüft die gesamte Konfiguration bei dem Start, Syntax und die Zugänglichkeit der referenzierten Dateien. Ein einzelner falscher Include, Zertifikatspfad oder Portkonflikt kann den Service von dem Starten abhalten.
nginx -t ilk yapılması gereken komuttur. Çıktı dosya ve Zeile numarası veriyorsa önce nur o ilk Fehler düzeltilmelidir; sonraki Fehlerlar zincirleme olabilir.
Während des Reloads, wenn die neue Konfiguration ungültig ist, laufen die laufenden alten Worker in der Regel weiter. Im Gegensatz dazu kann ein direkter Neustart bei einem nicht beendeten und neu gestarteten Dienst zu einer Unterbrechung führen.
Im Fehler "Adresse bereits in Verwendung" muss der Port ermittelt werden, der von welchem Prozess verwendet wird. Apache, eine andere NGINX-Instanz, Container-Proxy oder der alte Masterprozess können den Port 80/443 halten.
Die Unknown-Direktive zeigt an, dass das zugehörige Modul nicht installiert ist oder die Direktive im falschen Kontext/Schritt verwendet wird. Die Zeile sollte nicht ohne Überprüfung der Modul-Abhängigkeit gelöscht werden.
Auf dem Produktions-Server verwenden Sie zunächst nginx -t, dann reload; ein Neustart mit einer ungültigen Konfiguration kann dazu führen, dass die alte funktionierende Konfiguration verloren geht.
Suchen Sie nach dem Ausdruck, den Sie in der E-Mail, im Browser oder im SSH-Protokoll sehen. Jede Karte enthält eine Bedeutung, eine wahrscheinliche Ursache und eine sichere erste Maßnahme.
Bedeutung: Konfigurations-Test fand mindestens eine kritische Fehler.
Mögliche Ursache: Syntax-Fehler aufgrund von Include, Dateipfad oder Direktivfehler.
Bedeutung: Block-Klammer oder Semikolon-Struktur defekt.
Mögliche Ursache: Fehlende oder übermäßige geschwungene Klammern oder Semikolon.
Bedeutung: NGINX-Direktive wird nicht erkannt.
Mögliche Ursache: Grammatikfehler, fehlendes Modul oder nicht unterstützter Build.
Bedeutung: Der Port wird von einem anderen Prozess verwendet.
Mögliche Ursache: Apache, zweiter NGINX, Container oder alter Prozess.
Bedeutung: Inkompatible oder doppelte Listen-Optionen für die gleiche Adresse/Port
Mögliche Ursache: Mehrere Include/Vhost sind in Konflikt mit der gleichen Lautstärke-Definition.
Bedeutung: Mehrere default_server-Definitionen für die gleiche Adresse:Port
Mögliche Ursache: Duplizierte Site-Konfiguration oder Verteilungspaket-Standard.
Bedeutung: SSL Dateipfad fehlt oder ist nicht lesbar.
Mögliche Ursache: Falsche Pfad oder Berechtigungen nach Wiederherstellung/Deploy.
Bedeutung: Das eingeschlossene Konfigurationsdatei wurde nicht gefunden/fehlgeschlagen, um geöffnet zu werden.
Mögliche Ursache: Gelöschter Symbolischer Link, falsche glob oder Berechtigung.
Es wurden keine Datensätze gefunden, die diesem Ausdruck entsprechen.
Befehle sind für den Root-Zugriff vorgesehen. Sammeln Sie zunächst nur den Status und die Protokolle. Ändern Sie die dauerhafte Einstellung nicht, ohne den Grund dafür zu erkennen.
nginx -t
Zeigt die erste tatsächliche Datei- und Zeilenfehler.
nginx -T > /tmp/nginx-tam.conf 2>&1
less /tmp/nginx-tam.conf
Zeigt die eingeschlossene kombinierte Konfiguration an.
systemctl status nginx -l --no-pager
journalctl -u nginx -n 150 --no-pager
systemd zeigt Start- und Restartfehler an.
ss -lntp '( sport = :80 or sport = :443 )'
lsof -nP -iTCP:80 -sTCP:LISTEN 2>/dev/null
Bestimmt den Prozess, der Ports 80/443 verwendet.
nginx -V 2>&1
Zeigt Version, Compile-Flags und dynamische Modulunterstützung an.
nginx -t && systemctl reload nginx
Erreicht nur erfolgreich ohne Unterbrechung.
Obwohl die Grundursache des NGINX-Fehlers dieselbe ist, variieren Paketpfade, Dienstnamen, Sicherheitsebenen und die Verwaltung virtueller Hosts je nach verwendeter Linux-Distribution oder Plesk-Infrastruktur.
NGINX Startet Nicht für systemd, Paketpfad und journald-Prüfunglen.
nginx -t
systemctl status nginx -l --no-pager
journalctl -u nginx -n 100 --no-pager
ss -lntp | grep -E ':80 |:443 'NGINX Startet Nicht für SELinux, PHP-FPM-Pool und RHEL-basierte Dienstkontrollen.
nginx -t
systemctl status nginx -l --no-pager
journalctl -u nginx -n 100 --no-pager
ss -lntp | grep -E ':80 |:443 'NGINX virtuelle Host-Dateien von Plesk generiert: nginx-Startüberprüfung.
nginx -t
plesk repair web -n
systemctl status nginx sw-cp-server --no-pagerFixen Sie den Testfehler zuerst, dann die Port/Datei/Modul-Abhängigkeit, indem Sie den Dienst neu starten.
Bestimmen Sie, ob der Fehler nach einer Upgrade, Zertifikat, neuen vhost oder manuellen Konfiguration begonnen hat.
systemctl status nginx -l --no-pagerKonzentrieren Sie sich nur auf die im [emerg]-Nachricht erwähnte Datei und Zeile.
nginx -tFinden Sie duplizierte Include und List/rewrite-Zeilen aus verschiedenen Dateien.
nginx -T > /tmp/nginx-tam.conf 2>&1Überprüfen Sie den Besitzer von 80/443, SSL-Dateien und Include-Ziele.
ss -lntp | grep -E ':80 |:443 '; find /etc/nginx -xtype l -lsDas File sichern und nur auf der fehlerhaften Zeile/Bloch Änderungen vornehmen.
cp -a /etc/nginx/conf.d/example.conf /root/example.conf.yedekWenn die Konfiguration erfolgreich ist, neu laden; Journal und HTTP-Antwort überwachen.
nginx -t && systemctl reload nginx
systemctl is-active nginxDie vor der Zeilennummer befindlichen Block- und Punktpräfix-Trennzeichen werden überprüft.
nl -ba /etc/nginx/conf.d/example.conf | sed -n '30,50p'Apache, Container-Proxy oder zweite Instanz-Port kann gehalten werden.
ss -lntp '( sport = :80 )'Fullchain/Schlüsselpfad, Berechtigungen und Übereinstimmung werden überprüft.
nginx -t; ls -l /etc/letsencrypt/live/example.com/Das erforderliche Modul fehlt im Build oder der dynamische Modul wurde nicht geladen.
nginx -V 2>&1; grep -R 'load_module' /etc/nginxEine mit Kopie aktivierte Seite oder zwei Includes können das gleiche Datei laden.
nginx -T | grep -n 'default_server'Manuelle Richtlinien- und Template-Kompatibilitätsprüfung und -reparatur in Trockenlauf.
plesk repair web -n; nginx -tKorrigieren Sie die Datei und Zeile der ersten Emergenz-Meldung im nginx -t-Ausgang; starten Sie anschließend erst, wenn der Test erfolgreich ist.
Der Port, auf den Sie hören möchten, wird von einem anderen Prozess verwendet. Der Besitzer des Ports muss mithilfe von ss oder lsof gefunden werden.
Reload testet die neue Konfiguration mit Arbeitern und startet den Service neu, stoppt ihn vollständig und riskiert eine Unterbrechung, wenn ein Fehler vorliegt.
Die Direktive ist falsch geschrieben, im falschen Kontext verwendet, in einer alten Version oder ohne das notwendige Modul.
Inkompatible Listenoptionen können die Konfigurationsprüfung oder das vhost-Verhalten stören; Duplikate von Adressen/Portdefinitionen sollten kombiniert werden.
Ja. Wenn das SSL-Zertifikat oder die Schlüsseldatei nicht geöffnet werden kann, kann die zugehörige SSL-Server-Block-Konfigurationsprüfung fehlschlagen.
Zuerst muss mit einer Trockenlaufung nginx -t und plesk repair web -n durchgeführt werden; dann sollte nur die notwendige Domain oder alle Web-Konfigurationen kontrolliert und repariert werden.
Durch die gemeinsame Analyse von cPanel, WHM, CloudLinux, LiteSpeed, MariaDB, Exim und Sicherheitsebenen beheben wir die Grundursache des Fehlers, anstatt nur den Dienst zu entfernen.