CH-J Server Managerserverbeheer over SSH
Menu
Alle handleidingen en artikelen →

NGINX beheren zonder de website stil te leggen

Maak een back-up van de configuratie, test deze met nginx -t, pas deze toe door zonder onderbreking te herladen en herstel de vorige versie als er iets misgaat.

Herladen in plaats van herstarten

Bij herladen krijgt NGINX de opdracht de configuratie opnieuw in te lezen. Er worden nieuwe workerprocessen gestart en de oude mogen hun openstaande verzoeken afronden, zodat bezoekers doorgaans niets merken. Als de nieuwe configuratie niet kan worden toegepast, blijft NGINX met de oude werken. Bij herstarten wordt de dienst eerst gestopt, waardoor verbindingen worden onderbroken. Als de configuratie onjuist is, lukt het mogelijk niet om de dienst weer te starten.

Maak een back-up van het bestand dat u wijzigt

Maak vóór het bewerken een kopie naast het bestand, met de datum in de naam. Laat geen kopieën staan in een map die NGINX met een jokertekenpatroon zoals conf.d/*.conf of sites-enabled/* inleest, want dan worden die ook ingelezen. Bewerk op Debian en Ubuntu het bestand in sites-available; de vermelding in sites-enabled is doorgaans alleen een koppeling daarnaartoe.

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

Eerst testen, dan herladen

nginx -t controleert de syntaxis en de bestanden waarnaar de configuratie verwijst, zoals certificaten. Gebruik nginx -T om de volledige configuratie na het invoegen van andere bestanden te bekijken. Herlaad alleen als de test slaagt; door de opdrachten met && te verbinden, gebeurt dat automatisch. De test kan niet vaststellen of de configuratie doet wat u bedoelde, dus open daarna de website.

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

Als er iets misgaat

Zet de back-up terug, test opnieuw en herlaad. Als de dienst is gestopt, vertellen het foutenlogboek en het journal u waarom. Zoek naar meldingen over een poort die al in gebruik is, een ontbrekend certificaat of een dubbele servernaam.

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

Wat herladen niet afhandelt

Langdurige verbindingen zoals WebSockets blijven bij de oude workers totdat ze eindigen, waardoor oude workers nog een tijd kunnen blijven draaien en extra geheugen gebruiken. Een pakketupgrade kan de dienst uit zichzelf herstarten. Test grotere wijzigingen eerst op een testserver, inclusief certificaten en omleidingen.

NGINX Manager binnen CH-J Server Manager

NGINX Manager bewerkt configuratiebestanden in de beheerde NGINX-mappen op Linux-servers, tot 512 KiB per bestand. Bij het opslaan maakt de toepassing een back-up met het achtervoegsel .chj-backup-, voert nginx -t uit en behoudt de wijziging alleen na een geslaagde test. Herladen vereist uw uitdrukkelijke bevestiging en voert vóór het starten de test opnieuw uit. Een ingeschakelde symbolische koppeling wordt niet vervangen; bewerk het bijbehorende bestand in sites-available.

Gedetailleerde documentatie

NGINX: Controlling nginx →

NGINX: Beginner's Guide →

Biometrische ontgrendeling en beveiliging →