Ce face nginx -s reload
Opțiunea -s trimite un semnal procesului master Nginx care rulează deja. PID-ul acestuia este citit din fișierul indicat de directiva pid (de obicei /run/nginx.pid).
La reload, procesul master verifică noua configurație; dacă este validă, pornește procese worker noi și le oprește grațios pe cele vechi, după ce acestea termină cererile în curs. Astfel nu se pierde nicio conexiune. Dacă noua configurație are erori, Nginx continuă cu cea veche și scrie eroarea în error.log.
Pe sistemele cu systemd este recomandat să folosești systemctl reload nginx, pentru ca systemd să știe în ce stare se află serviciul. nginx -s rămâne util în containere Docker sau pe sisteme fără systemd.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
reload |
Reîncarcă configurația fără întreruperea conexiunilor (semnalul HUP). |
quit |
Oprire grațioasă: workerii termină cererile în curs, apoi se opresc (semnalul QUIT). |
stop |
Oprire rapidă, imediată (semnalul TERM). |
reopen |
Redeschide fișierele de log (semnalul USR1), folosit după rotirea jurnalelor. |
Exemple
Exemplul 1: Reîncărcarea configurației
Comanda nu afișează nimic dacă reușește. Rulează întâi nginx -t.
sudo nginx -t
sudo nginx -s reload
Ieșire în terminal
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Exemplul 2: Eroare când Nginx nu rulează
Dacă fișierul PID nu există (serverul este oprit), semnalul nu are unde să fie trimis:
sudo nginx -s reload
Ieșire în terminal
nginx: [error] open() "/run/nginx.pid" failed (2: No such file or directory)
Exemplul 3: Reîncărcare într-un container Docker
În imaginea oficială nginx nu există systemd, așa că semnalul se trimite direct:
docker exec web nginx -s reload
Ieșire în terminal
2026/10/23 08:12:31 [notice] 47#47: signal process started
Greșeli frecvente
- Folosirea
nginx -s stopurmată denginxpentru a aplica o modificare: se întrerup conexiunile active. Pentru modificări de configurație este suficientreload. - Amestecarea
nginx -scu systemd: dacă oprești cunginx -s stopun server pornit de systemd,systemctl statuspoate raporta starea incorect.
Comenzi înrudite
nginx -t: Testează sintaxa fișierelor de configurare fără a opri sau reporni serverul.systemctl reload nginx: Pornește, oprește, repornește sau reîncarcă serviciul Nginx prin systemd.access_log / error_log: Configurează jurnalele de acces și de erori (fișiere separate pe site, niveluri de severitate, dezactivare pe rute).