CH-J Server Managerspráva serverů přes SSH
Menu
Všechny návody a články →

Správa NGINX bez výpadku webu

Zálohujte konfiguraci, otestujte ji pomocí nginx -t, použijte ji plynulým znovunačtením a při selhání obnovte předchozí stav.

Znovunačtení místo restartu

Znovunačtení dá NGINX pokyn znovu přečíst konfiguraci. Spustí nové pracovní procesy a staré nechá dokončit otevřené požadavky, takže návštěvníci obvykle nic nepoznají. Pokud novou konfiguraci nelze použít, NGINX dál běží s původní. Restart nejprve službu zastaví, čímž přeruší spojení, a při chybné konfiguraci se ji nemusí podařit znovu spustit.

Zálohujte upravovaný soubor

Před úpravou vytvořte vedle souboru kopii s datem v názvu. Nenechávejte kopie v adresáři, který NGINX načítá pomocí zástupného vzoru jako conf.d/*.conf nebo sites-enabled/*, protože by načetl i je. Na Debianu a Ubuntu upravujte soubor v sites-available; položka v sites-enabled je obvykle jen odkaz na něj.

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

Nejprve test, potom znovunačtení

nginx -t kontroluje syntaxi a soubory, na které konfigurace odkazuje, například certifikáty. Pomocí nginx -T zobrazíte úplnou konfiguraci po zahrnutí dalších souborů. Znovunačtení proveďte pouze po úspěšném testu; spojení příkazů pomocí && to zajistí. Test neověří, zda konfigurace dělá to, co jste zamýšleli, proto pak web otevřete.

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

Když se něco pokazí

Obnovte záložní kopii, znovu proveďte test a načtěte konfiguraci. Pokud se služba zastavila, důvod najdete v chybovém logu a journalu. Hledejte zprávy o již obsazeném portu, chybějícím certifikátu nebo duplicitním názvu serveru.

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

Co znovunačtení neřeší

Dlouhotrvající spojení, například WebSockets, zůstávají u starých pracovních procesů až do svého ukončení, takže tyto procesy mohou ještě nějakou dobu běžet a spotřebovávat paměť navíc. Aktualizace balíčku může službu sama restartovat. Větší změny nejprve otestujte na testovacím serveru, včetně certifikátů a přesměrování.

NGINX Manager v CH-J Server Manager

NGINX Manager upravuje konfigurační soubory ve spravovaných adresářích NGINX na linuxových serverech, až do velikosti 512 KiB na soubor. Při ukládání aplikace vytvoří zálohu s příponou .chj-backup-, spustí nginx -t a změnu ponechá jen po úspěšném testu. Znovunačtení vyžaduje vaše výslovné potvrzení a před spuštěním znovu provede test. Symbolický odkaz v sites-enabled se nenahrazuje; upravte odpovídající soubor v sites-available.

Podrobná dokumentace

NGINX: Controlling nginx →

NGINX: Beginner's Guide →

Biometrické odemykání a zabezpečení →