CH-J Server Managermanagementul serverului peste SSH
Meniu
Toate ghidurile și articolele →

Administrarea NGINX fără a opri site-ul

Creează o copie de siguranță a configurației, testeaz-o cu nginx -t, aplic-o printr-o reîncărcare fără întreruperi și revino la versiunea anterioară dacă ceva nu funcționează.

Reîncărcare în loc de repornire

O reîncărcare îi cere NGINX să citească din nou configurația. Pornește procese de lucru noi și le permite celor vechi să termine cererile deschise, astfel că vizitatorii nu observă de obicei nimic. Dacă noua configurație nu poate fi aplicată, NGINX continuă să funcționeze cu cea veche. O repornire oprește mai întâi serviciul, întrerupând conexiunile, iar serviciul poate să nu mai pornească dacă configurația este greșită.

Fă o copie de siguranță a fișierului pe care îl modifici

Înainte de editare, creează o copie lângă fișier și include data în numele ei. Nu lăsa copii într-un director pe care NGINX îl încarcă folosind un tipar cu metacaractere precum conf.d/*.conf sau sites-enabled/*, deoarece le-ar încărca și pe acestea. Pe Debian și Ubuntu, editează fișierul din sites-available; intrarea din sites-enabled este de obicei doar o legătură către acesta.

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

Testează, apoi reîncarcă

nginx -t verifică sintaxa și fișierele la care face referire configurația, cum ar fi certificatele. Folosește nginx -T pentru a vedea configurația completă după includerea celorlalte fișiere. Reîncarcă doar dacă testul reușește; legarea comenzilor cu && asigură acest lucru. Testul nu poate stabili dacă configurația face ceea ce ai intenționat, așa că deschide site-ul după aceea.

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

Când ceva nu merge bine

Restaurează copia de siguranță, testează din nou și reîncarcă. Dacă serviciul s-a oprit, jurnalul de erori și jurnalul de sistem îți arată de ce. Caută mesaje despre un port deja utilizat, un certificat lipsă sau un nume de server duplicat.

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

Ce nu acoperă o reîncărcare

Conexiunile de lungă durată, cum ar fi WebSockets, rămân la procesele de lucru vechi până se încheie, astfel că procesele vechi pot continua să ruleze o vreme și să folosească memorie suplimentară. O actualizare a pachetului poate reporni serviciul de la sine. Testează mai întâi modificările mai ample pe un server de test, inclusiv certificatele și redirecționările.

NGINX Manager în CH-J Server Manager

NGINX Manager editează fișierele de configurare din directoarele NGINX administrate pe serverele Linux, până la 512 KiB pentru fiecare fișier. La salvare, aplicația creează o copie de siguranță cu sufixul .chj-backup-, rulează nginx -t și păstrează modificarea doar după un test reușit. O reîncărcare necesită confirmarea ta explicită și rulează din nou testul înainte de a începe. O legătură simbolică activată nu este înlocuită; editează fișierul corespunzător din sites-available.

Documentație detaliată

NGINX: Controlling nginx →

NGINX: Beginner's Guide →

Deblocare biometrică și securitate →