Nginx è un server web ad alte prestazioni comunemente usato per servire siti web, per il reverse proxying e per il bilanciamento del carico. Se state aggiornando i file di configurazione o applicando le patch di sicurezza, spesso dovrete ricaricare o riavviare Nginx. Questa guida spiega la differenza tra ricarica e riavvio e come eseguire ciascuna azione in modo sicuro su un server virtuale o privato

Ricaricamento vs Riavvio – Qual è la differenza?

AzioneDescrizione
RicaricaRicarica la configurazione senza interrompere le connessioni attive. Preferibile dopo le modifiche alla configurazione.
RiavviaArresta e riavvia completamente Nginx. Utilizzato per modifiche più profonde o reset completi.

Suggerimento: Eseguire sempre un test di configurazione prima di ricaricare, per evitare tempi di inattività dovuti a errori.

Come testare la configurazione di Nginx

Prima di ricaricare o riavviare, verificare che la configurazione sia valida:

sudo nginx -t

Se tutto è a posto, si vedrà:

nginx: la sintassi del file di configurazione /etc/nginx/nginx.conf è corretta  
nginx: il test del file di configurazione /etc/nginx/nginx.conf ha avuto successo

Come ricaricare Nginx

Utilizzare questa procedura quando si modificano le impostazioni in /etc/nginx/nginx.conf o si aggiungono/modificano gli host virtuali.

Sui sistemi basati su systemd (Ubuntu 16.04 , CentOS 7 , Debian 9 ):

sudo systemctl reload nginx

Sui sistemi più vecchi che utilizzano init.d:

sudo service nginx reload

Questo indica a Nginx di rileggere la sua configurazione senza interrompere le connessioni in corso.

Come riavviare Nginx

Si usa quando Nginx non risponde o dopo aggiornamenti importanti.

Sui sistemi systemd:

sudo systemctl restart nginx

Sui sistemi init.d:

sudo service nginx restart

Arresta e avvia Nginx, interrompendo tutte le sessioni in corso. Usare con cautela sui server di produzione.

Opzionale: Ricaricare direttamente con il binario di nginx

È anche possibile inviare un segnale HUP manualmente:

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

Questo funziona come un ricaricamento ed è utile per lo scripting personalizzato.

Risoluzione dei problemi comuni

  • “nginx: [emerg] direttiva sconosciuta…” – Probabilmente è stato commesso un errore di sintassi. Eseguire nginx -t per eseguire il debug.
  • Nginx non si riavvia correttamente – Controllare i file di log:
sudo tail -n 50 /var/log/nginx/error.log

Conclusione

La ricarica è sicura per i server live e dovrebbe essere l’opzione predefinita dopo le modifiche alla configurazione. Il riavvio è utile per i reset completi o se Nginx diventa instabile. In entrambi i casi, testare sempre la configurazione prima di applicare le modifiche.