Wie man Nginx neu lädt und neu startet
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?
| Aktion | Beschreibung |
|---|---|
| Neu laden | Lädt die Konfiguration ordnungsgemäß neu, ohne aktive Verbindungen zu beenden. Bevorzugt nach Änderungen an der Konfiguration. |
| Neu starten | Stoppt 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.


