CH-J Server Managerspráva serverov nad SSH
Menu
Všetky návody a články →

Správa NGINX bez výpadku webu

Zálohujte konfiguráciu, otestujte ju pomocou nginx -t, použite ju plynulým opätovným načítaním a pri zlyhaní obnovte pôvodný stav.

Opätovné načítanie namiesto reštartu

Opätovné načítanie prikáže NGINX znovu prečítať konfiguráciu. Spustí nové pracovné procesy a starým umožní dokončiť otvorené požiadavky, takže návštevníci zvyčajne nič nespozorujú. Ak sa nová konfigurácia nedá použiť, NGINX naďalej beží s pôvodnou. Reštart najprv zastaví službu, čím preruší pripojenia, a pri chybnej konfigurácii sa služba nemusí znova spustiť.

Zálohujte súbor, ktorý meníte

Pred úpravou vytvorte vedľa súboru kópiu s dátumom v názve. Nenechávajte kópie v adresári, ktorý NGINX načítava pomocou zástupného vzoru, napríklad conf.d/*.conf alebo sites-enabled/*, pretože by načítal aj ich. Na Debiane a Ubuntu upravujte súbor v sites-available; položka v sites-enabled je zvyčajne iba odkaz naň.

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

Najprv test, potom opätovné načítanie

nginx -t kontroluje syntax aj súbory, na ktoré konfigurácia odkazuje, napríklad certifikáty. Pomocou nginx -T zobrazíte úplnú konfiguráciu po zahrnutí ďalších súborov. Opätovné načítanie vykonajte len po úspešnom teste; spojenie príkazov pomocou && to zaistí. Test neoverí, či konfigurácia robí to, čo ste zamýšľali, preto potom otvorte web.

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

Keď sa niečo pokazí

Obnovte záložnú kópiu, znovu spustite test a načítajte konfiguráciu. Ak sa služba zastavila, príčinu nájdete v chybovom logu a v journale. Hľadajte správy o už používanom porte, chýbajúcom certifikáte alebo duplicitnom názve servera.

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

Čo opätovné načítanie nepokrýva

Dlhotrvajúce pripojenia, napríklad WebSockets, zostávajú pri starých pracovných procesoch až do ukončenia, takže tieto procesy môžu ešte nejaký čas bežať a spotrebúvať ďalšiu pamäť. Aktualizácia balíka môže službu sama reštartovať. Väčšie zmeny najprv otestujte na testovacom serveri vrátane certifikátov a presmerovaní.

NGINX Manager v CH-J Server Manager

NGINX Manager upravuje konfiguračné súbory v spravovaných adresároch NGINX na linuxových serveroch, najviac 512 KiB na súbor. Pri ukladaní aplikácia vytvorí zálohu s príponou .chj-backup-, spustí nginx -t a zmenu ponechá iba po úspešnom teste. Opätovné načítanie vyžaduje vaše výslovné potvrdenie a pred spustením znovu vykoná test. Symbolický odkaz v sites-enabled sa nenahrádza; upravte príslušný súbor v sites-available.

Podrobná dokumentácia

NGINX: Controlling nginx →

NGINX: Beginner's Guide →

Biometrické odomknutie a bezpečnosť →