Nginx ist ein Hochleistungs-Webserver, der häufig für die Bereitstellung von Websites, Reverse Proxy und Lastausgleich verwendet wird. Unabhängig davon, ob Sie Konfigurationsdateien aktualisieren oder Sicherheitspatches anwenden, müssen Sie Nginx häufig neu laden oder neu starten. In diesem Leitfaden wird der Unterschied zwischen dem Neuladen und dem Neustart von Nginx erklärt und wie Sie beide Aktionen auf einem virtuellen oder privaten Server sicher durchführen können

Neuladen vs. Neustart – Was ist der Unterschied?

AktionBeschreibung
Neu ladenLädt die Konfiguration ordnungsgemäß neu, ohne aktive Verbindungen zu beenden. Bevorzugt nach Änderungen an der Konfiguration.
Neu startenStoppt und startet Nginx komplett neu. Wird für tiefgreifende Änderungen oder vollständige Zurücksetzungen verwendet.

Tipp: Führen Sie vor dem Neuladen immer einen Konfigurationstest durch, um Ausfallzeiten aufgrund von Fehlern zu vermeiden.

So testen Sie die Nginx-Konfiguration

Bevor Sie neu laden oder neu starten, überprüfen Sie, ob Ihre Konfiguration gültig ist:

sudo nginx -t

Wenn alles in Ordnung ist, werden Sie sehen:

nginx: Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist in Ordnung  
nginx: Der Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich

Wie man Nginx neu lädt

Verwenden Sie dies, wenn Sie Einstellungen in /etc/nginx/nginx.conf ändern oder virtuelle Hosts hinzufügen/bearbeiten.

Auf systemd-basierten Systemen (Ubuntu 16.04 , CentOS 7 , Debian 9 ):

sudo systemctl reload nginx

Auf älteren Systemen mit init.d:

sudo service nginx reload

Dies weist Nginx an, seine Konfiguration neu einzulesen, ohne laufende Verbindungen zu unterbrechen.

So starten Sie Nginx neu

Verwenden Sie dies, wenn Nginx nicht mehr reagiert oder nach größeren Aktualisierungen.

Auf systemd-Systemen:

sudo systemctl restart nginx

Auf init.d-Systemen:

sudo service nginx restart

Dies stoppt und startet Nginx, unterbricht also alle laufenden Sitzungen. Verwenden Sie dies mit Vorsicht auf Produktionsservern.

Optional: Direktes Neuladen mit nginx Binary

Sie können auch manuell ein HUP-Signal senden:

sudo kill -HUP $(cat /var/run/nginx.pid)

Dies funktioniert genauso wie ein Reload und ist nützlich bei der Erstellung eigener Skripte.

Allgemeine Fehlersuche

  • “nginx: [emerg] unknown directive…” – Sie haben wahrscheinlich einen Syntaxfehler gemacht. Führen Sie nginx -t zur Fehlersuche aus.
  • Nginx startet nicht richtig neu – Überprüfen Sie die Protokolldateien:
sudo tail -n 50 /var/log/nginx/error.log

Schlussfolgerung

Ein Neustart ist für laufende Server sicher und sollte Ihre Standardoption nach Konfigurationsänderungen sein. Ein Neustart ist nützlich, wenn Nginx vollständig zurückgesetzt oder instabil wird. In jedem Fall sollten Sie Ihre Konfiguration immer testen, bevor Sie Änderungen vornehmen.