nginx -s reload în Nginx

Comenzi de administrare Toate versiunile Nginx

Trimite un semnal procesului master Nginx: reload, stop, quit sau reopen.

Sintaxă
nginx -s reload|stop|quit|reopen

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 stop urmată de nginx pentru a aplica o modificare: se întrerup conexiunile active. Pentru modificări de configurație este suficient reload.
  • Amestecarea nginx -s cu systemd: dacă oprești cu nginx -s stop un server pornit de systemd, systemctl status poate 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).