Nginx este un server web de înaltă performanță utilizat în mod obișnuit pentru deservirea site-urilor web, proxy invers și echilibrarea sarcinii. Fie că actualizați fișiere de configurare sau aplicați patch-uri de securitate, va trebui adesea să reîncărcați sau să reporniți Nginx. Acest ghid explică diferența dintre reîncărcare și repornire și cum să efectuați fiecare acțiune în siguranță pe un server virtual sau un server privat

Reîncărcare vs repornire – Care este diferența?

AcțiuneDescriere
ReîncărcareReîncarcă grațios configurația fără a ucide conexiunile active. Preferată după editarea configurației.
RepornireOprește și repornește Nginx complet. Utilizat pentru modificări mai profunde sau reporniri complete.

Sfat: Rulați întotdeauna un test de configurare înainte de reîncărcare pentru a evita întreruperile cauzate de erori.

Cum să testați configurația Nginx

Înainte de reîncărcare sau repornire, verificați dacă configurația dvs. este valabilă:

sudo nginx -t

Dacă totul este în regulă, veți vedea:

nginx: sintaxa fișierului de configurare /etc/nginx/nginx.conf este ok  
nginx: testul fișierului de configurare /etc/nginx/nginx.conf este reușit

Cum să reîncărcați Nginx

Utilizați această opțiune atunci când modificați setările din /etc/nginx/nginx.conf sau adăugați/editați gazde virtuale.

Pe sistemele bazate pe systemd (Ubuntu 16.04 , CentOS 7 , Debian 9 ):

sudo systemctl reload nginx

Pe sistemele mai vechi care utilizează init.d:

sudo service nginx reload

Aceasta îi spune lui Nginx să își recitească configurația fără a întrerupe conexiunile în curs.

Cum să reporniți Nginx

Utilizați această opțiune atunci când Nginx nu răspunde sau după actualizări majore.

Pe sistemele systemd:

sudo systemctl restart nginx

Pe sistemele init.d:

sudo service nginx restart

Aceasta oprește și pornește Nginx, astfel încât întrerupe toate sesiunile curente. Utilizați cu precauție pe serverele de producție.

Opțional: Reîncărcați direct cu binarul nginx

De asemenea, puteți trimite manual un semnal HUP:

sudo kill -HUP $(cat /var/run/nginx.pid)

Acest lucru funcționează la fel ca o reîncărcare și este util în scripturile personalizate.

Rezolvarea problemelor comune

  • “nginx: [emerg] unknown directive…” – Probabil ați făcut o eroare de sintaxă. Rulați nginx -t pentru depanare.
  • Nginx nu repornește corect – Verificați fișierele jurnal:
sudo tail -n 50 /var/log/nginx/error.log

Concluzie

Reîncărcarea este sigură pentru serverele live și ar trebui să fie opțiunea dvs. implicită după modificarea configurației. Repornirea este utilă pentru resetarea completă sau dacă Nginx devine instabil. În orice caz, testați întotdeauna configurația înainte de a aplica modificările.