open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Tipps

Nützliche NGINX-Befehle und Logs – Starten, Stoppen, Reload, Fehlerdiagnose

Autor
Nützliche NGINX-Befehle und Logs – Starten, Stoppen, Reload, Fehlerdiagnose

Der Webserver NGINX ist bekannt für seine Stabilität, Geschwindigkeit und Flexibilität. Doch selbst der beste Server läuft nicht ohne gelegentliche Wartung oder Anpassung.

Ob du einen neuen Server startest, Konfigurationen neu lädst oder Fehler in den Logs suchst – die richtigen Befehle sind das A und O. In diesem Artikel lernst du alle wichtigen NGINX-Kommandos für Start, Stop, Reload und Diagnose, ergänzt durch Tipps zur Fehleranalyse mit Log-Dateien.

1. Grundlegende NGINX-Dienste starten und stoppen

NGINX starten

Wenn du NGINX manuell starten möchtest:

sudo systemctl start nginx

Oder auf älteren Systemen ohne systemd:

sudo service nginx start

Nach dem Start ist der Webserver aktiv und beantwortet HTTP/HTTPS-Anfragen. Überprüfen kannst du das mit:

sudo systemctl status nginx

Ein Status von active (running) zeigt, dass alles funktioniert.

NGINX stoppen

Um den Server vollständig zu beenden:

sudo systemctl stop nginx

Alternativ:

sudo nginx -s stop

Dies beendet alle Worker-Prozesse sofort.

Tipp: Verwende nginx -s quit, um NGINX sanft herunterzufahren (z. B. nach Deployments).

NGINX neu starten

Ein Neustart wird benötigt, wenn du umfangreiche Konfigurationsänderungen vorgenommen hast:

sudo systemctl restart nginx

oder

sudo service nginx restart

Dabei wird der Dienst kurzzeitig gestoppt und neu gestartet – aktive Verbindungen können dadurch kurz unterbrochen werden.

2. Konfiguration neu laden (Reload)

Der Reload ist einer der wichtigsten Befehle für Administratoren. Er ermöglicht, Konfigurationsänderungen ohne Downtime zu übernehmen:

sudo systemctl reload nginx

oder gleichwertig:

sudo nginx -s reload

NGINX prüft dabei zuerst, ob die Konfiguration fehlerfrei ist. Wenn alles passt, werden die neuen Einstellungen übernommen, während bestehende Verbindungen aktiv bleiben.

Perfekt für den Live-Betrieb!

3. Konfiguration prüfen

Vor jedem Reload oder Restart solltest du sicherstellen, dass die Konfiguration korrekt ist. Das spart dir viele Kopfschmerzen:

sudo nginx -t

Ein erfolgreicher Test zeigt:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file test is successful

Wenn ein Fehler angezeigt wird, prüfe die angegebene Datei und Zeilennummer.

4. Aktiven Prozess anzeigen

Um zu sehen, ob NGINX tatsächlich läuft, kannst du den Prozessstatus prüfen:

ps aux | grep nginx

Typischerweise siehst du:

  • einen Master-Prozess
  • mehrere Worker-Prozesse

Beispielausgabe:

root     1145  0.0  0.1 162372  5136 ? Ss   12:00   0:00 nginx: master process /usr/sbin/nginx
www-data 1146  0.0  0.0 162948  3020 ? S    12:00   0:00 nginx: worker process

5. Log-Dateien – das Herz der Fehlerdiagnose

NGINX erstellt zwei Hauptlogs:

  • Access-Log: Aufruf- und Zugriffsdaten
  • Error-Log: Fehler, Warnungen und Systemmeldungen

Standardpfade

Typ Pfad
Access Log /var/log/nginx/access.log
Error Log /var/log/nginx/error.log

Access-Log analysieren

Beispiel-Eintrag:

192.168.0.5 - - [02/Nov/2025:12:40:15 +0100] "GET /index.html HTTP/1.1" 200 612 "-" "Mozilla/5.0"
Feld Bedeutung
192.168.0.5 IP-Adresse des Besuchers
GET /index.html Angeforderte Ressource
200 HTTP-Statuscode
612 Übertragene Byte-Anzahl
"Mozilla/5.0" User-Agent

Tipp: Mit Tools wie goaccess, awstats oder matomo-log-import kannst du Zugriffsdaten visuell auswerten.

Error-Log prüfen

Wenn NGINX nicht startet oder eine Seite Fehler wirft, hilft:

sudo tail -f /var/log/nginx/error.log

Das -f sorgt dafür, dass neue Einträge in Echtzeit angezeigt werden.

Typische Fehlermeldungen:

  • bind() to 0.0.0.0:80 failed → Port 80 ist bereits belegt
  • permission denied → falsche Dateiberechtigungen
  • no such file or directory → falscher Pfad in der Konfiguration

6. Nützliche Zusatzbefehle

Befehl Beschreibung
nginx -v Zeigt NGINX-Version
nginx -V Zeigt Version und Kompilierungsoptionen
nginx -T Gibt gesamte aktive Konfiguration aus
systemctl enable nginx Startet NGINX automatisch beim Booten
systemctl disable nginx Deaktiviert Autostart
nginx -s reopen Öffnet Log-Dateien neu (nützlich bei Rotation)

7. Beispiel für Logrotation

NGINX-Logs können mit der Zeit sehr groß werden. Nutze daher logrotate (unter Linux meist automatisch eingerichtet). Manuelles Neustarten der Log-Dateien:

sudo nginx -s reopen

Das sorgt dafür, dass NGINX die alten Logs schließt und neue beginnt – perfekt für automatisierte Wartung.

NGINX ist ein leistungsfähiger Webserver – und mit den richtigen Befehlen behältst du jederzeit die Kontrolle. Ob Start, Reload, Diagnose oder Log-Analyse – wer diese Kommandos beherrscht, kann Probleme schnell erkennen und lösen.

Mit einem Blick ins Error-Log findest du in Sekunden die Ursache – und mit nginx -t und nginx -s reload bringst du jede Änderung sauber live.

Ein Werkzeugkasten, den jeder Admin beherrschen sollte.