Come ricaricare e riavviare Nginx
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?
| Azione | Descrizione |
|---|---|
| Ricarica | Ricarica la configurazione senza interrompere le connessioni attive. Preferibile dopo le modifiche alla configurazione. |
| Riavvia | Arresta 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.


