CH-J Server ManagerSerververwaltung über SSH
Menü
Alle Anleitungen und Artikel →

NGINX verwalten, ohne die Website außer Betrieb zu nehmen

Sichern Sie die Konfiguration, testen Sie sie mit nginx -t, übernehmen Sie sie durch sanftes Neuladen und kehren Sie bei Fehlern zum vorherigen Stand zurück.

Neuladen statt Neustart

Beim Neuladen liest NGINX die Konfiguration erneut ein. Neue Worker-Prozesse werden gestartet, während die alten ihre offenen Anfragen abschließen dürfen. Besucher bemerken daher normalerweise nichts. Lässt sich die neue Konfiguration nicht anwenden, läuft NGINX mit der alten weiter. Ein Neustart stoppt zunächst den Dienst und unterbricht dadurch Verbindungen. Bei einer fehlerhaften Konfiguration startet er möglicherweise nicht wieder.

Die zu ändernde Datei sichern

Legen Sie vor dem Bearbeiten eine Kopie neben der Datei an und nehmen Sie das Datum in den Namen auf. Lassen Sie keine Kopien in einem Verzeichnis liegen, das NGINX über ein Muster wie conf.d/*.conf oder sites-enabled/* lädt, da diese sonst ebenfalls geladen würden. Bearbeiten Sie unter Debian und Ubuntu die Datei in sites-available; der Eintrag in sites-enabled ist meist nur ein Link darauf.

sudo cp -a /etc/nginx/sites-available/example.conf /root/example.conf.$(date +%Y%m%d-%H%M%S)

Erst testen, dann neu laden

nginx -t prüft die Syntax und die Dateien, auf die die Konfiguration verweist, etwa Zertifikate. Mit nginx -T sehen Sie die vollständige Konfiguration nach dem Einbinden weiterer Dateien. Laden Sie nur nach erfolgreichem Test neu; das Verknüpfen der Befehle mit && stellt dies sicher. Der Test kann nicht feststellen, ob die Konfiguration das Gewünschte bewirkt. Öffnen Sie deshalb anschließend die Website.

sudo nginx -t && sudo systemctl reload nginx
sudo nginx -T | less
curl -I https://example.com/

Wenn etwas schiefgeht

Stellen Sie die Sicherungskopie wieder her, testen Sie erneut und laden Sie neu. Wurde der Dienst beendet, zeigen Fehlerprotokoll und Journal die Ursache. Achten Sie auf Meldungen über einen bereits belegten Port, ein fehlendes Zertifikat oder einen doppelten Servernamen.

sudo cp -a /root/example.conf.20261031-120000 /etc/nginx/sites-available/example.conf
sudo nginx -t && sudo systemctl reload nginx
sudo journalctl -u nginx -n 50 --no-pager
sudo tail -n 50 /var/log/nginx/error.log

Was das Neuladen nicht abdeckt

Langlebige Verbindungen wie WebSockets bleiben bis zu ihrem Ende bei den alten Workern. Diese können daher noch eine Weile laufen und zusätzlichen Speicher verbrauchen. Ein Paket-Upgrade kann den Dienst selbstständig neu starten. Testen Sie größere Änderungen zunächst auf einem Testserver, einschließlich Zertifikaten und Weiterleitungen.

NGINX Manager innerhalb von CH-J Server Manager

NGINX Manager bearbeitet Konfigurationsdateien in den verwalteten NGINX-Verzeichnissen auf Linux-Servern, bis zu 512 KiB pro Datei. Beim Speichern erstellt die Anwendung eine Sicherung mit dem Suffix .chj-backup-, führt nginx -t aus und behält die Änderung nur nach erfolgreichem Test bei. Ein Neuladen erfordert Ihre ausdrückliche Bestätigung und führt vor dem Start den Test erneut aus. Ein aktivierter symbolischer Link wird nicht ersetzt; bearbeiten Sie die zugehörige Datei in sites-available.

Ausführliche Dokumentation

NGINX: Controlling nginx →

NGINX: Beginner's Guide →

Biometrisches Entsperren und Sicherheit →