Come ricaricare e riavviare Nginx

Level up your server setup!  Apply AVA and launch with a 15% discount

USE promo

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.

Nginx è un server web open-source ad alte prestazioni di cui si fidano milioni di sviluppatori e aziende in tutto il mondo. È noto per la sua velocità, scalabilità ed efficienza delle risorse, il che lo rende una delle scelte più popolari per:

Ospitare siti e applicazioni web fungere da reverse proxy per distribuire le richieste tra i serverdi backend

  • Bilanciare il traffico per migliorare i tempi di attività e le prestazioni
  • Servire contenuti statici più velocemente dei server web tradizionali
  • Supportare il traffico HTTP, HTTPS, TCP e UDP senza soluzione di continuità

Grazie alla sua architettura leggera e al design event-driven, Nginx è in grado di gestire decine di migliaia di connessioni simultanee mantenendo un basso utilizzo delle risorse. Questo lo rende la soluzione preferita per ambienti ad alto traffico, applicazioni cloud e architetture a microservizi.

Come amministratore di server o sviluppatore, è frequente la necessità di ricaricare o riavviare Nginx durante le operazioni quotidiane, ad esempio quando:

  • Aggiornamento dei file di configurazione o dei blocchi del server
  • Aggiunta o rinnovo di certificati SSL/TLS
  • Applicazione di patch di sicurezza o aggiornamento di Nginx a una versione più recente
  • Risoluzione di problemi di prestazioni o di errori imprevisti

Capire quando ricaricare e quando riavviare Nginx è fondamentale per evitare i tempi di inattività e garantire un’esperienza continua agli utenti. Questa guida spiega la differenza, fornisce comandi passo-passo e include le migliori pratiche per gestire Nginx in modo sicuro su VPS, server dedicati e ambienti cloud.

Ricaricamento vs Riavvio: Qual è la differenza?

AzioneDescrizioneQuando usarla
RicaricaRicarica la configurazione senza interrompere le connessioni attive. Nginx rimane in funzione e gli utenti non subiscono alcun downtime.Dopo aver apportato modifiche a nginx.conf, aggiunto host virtuali o aggiornato i certificati SSL.
RiavvioArresta completamente Nginx e lo riavvia, interrompendo tutte le connessioni attive.Quando Nginx non risponde, dopo aggiornamenti importanti o quando cambiano moduli/pacchetti.

Suggerimento: Testare sempre la configurazione prima di eseguire i comandi reload o restart per evitare tempi di inattività imprevisti.

Passo 1. Testare la configurazione di Nginx

Prima di applicare le modifiche, assicuratevi che la sintassi della configurazione sia corretta:

sudo nginx -t
  • Se tutto è a posto, si vedrà:

  • Se ci sono errori, Nginx li visualizzerà insieme al numero di file e di riga per un rapido debug.

Passo 2. Come ricaricare Nginx

Ricaricare è il modo più sicuro per applicare nuove configurazioni senza influenzare le connessioni attive.

Per i sistemi basati su systemd

(Ubuntu 16.04+, CentOS 7+, Debian 9+):

sudo systemctl reload nginx

Per i vecchi sistemi basati su init.d

##ATP_NOTR_3_CODE_TAG_NOTR_ATP###

Questo costringe Nginx a rileggere la sua configurazione e ad applicare gli aggiornamenti senza problemi.

Passo 3. Come riavviare Nginx

Il riavvio arresta completamente Nginx e lo riavvia. Questo interrompe tutte le sessioni attive, quindi è bene essere cauti negli ambienti di produzione.

Per i sistemi basati su systemd

sudo systemctl restart nginx

Per i vecchi sistemi basati su init.d

##ATP_NOTR_5_CODE_TAG_NOTR_ATP###

Usare il riavvio se:

  • Nginx non risponde più
  • Sono stati installati nuovi moduli
  • Si sono aggiornati i binari di Nginx

Alternativa: Ricaricare usando il binario di Nginx

Per uno scripting avanzato o un’automazione personalizzata, è possibile inviare un segnale HUP manualmente:

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

Questo metodo si comporta come systemctl reload nginx ed è spesso usato nelle pipeline CI/CD.

Risoluzione dei problemi comuni

1. Errore di direttiva sconosciuta

Se viene visualizzato qualcosa come:

nginx: [emerg] unknown directive "…" in /etc/nginx/nginx.conf:15

Di solito significa che c’è un errore di sintassi o che manca un modulo.
Soluzione:

##ATP_NOTR_8_CODE_TAG_NOTR_ATP###

Risolvere i problemi evidenziati, quindi riprovare a ricaricare.

2. Nginx non riesce a riavviarsi

Controllare i log degli errori per i dettagli:

sudo tail -n 50 /var/log/nginx/error.log

Cercare certificati SSL mancanti, blocchi di server errati o conflitti di porte.

Aumentare le prestazioni di Nginx con i server dedicati NVMe

Se state gestendo siti web ad alto traffico o applicazioni ad alta intensità di risorse, considerate l’aggiornamento a un server dedicato NVMe di AVA Host.

Con l’archiviazione SSD NVMe ultraveloce, la potenza della CPU dedicata e le opzioni di larghezza di banda non misurata, AVA Host fornisce l’ambiente ideale per i carichi di lavoro basati su Nginx. Sperimenterete:

  • 🚀 Velocità di lettura/scrittura incredibili per tempi di risposta più rapidi
  • Latenza più bassa per le applicazioni in tempo reale
  • 🔒 Maggiore sicurezza dei dati con hardware di livello enterprise
  • 🌍 D isponibilità globale con supporto 24/7

Perfetto per scalare siti web, gestire cluster con bilanciamento del carico o servire traffico intenso senza tempi di inattività.

https://www.youtube.com/watch?v=a5Fxlw_A8AU&t=15s

Conclusione

La ricarica è il modo più sicuro ed efficiente per applicare le modifiche alla configurazione senza influenzare gli utenti, mentre il riavvio dovrebbe essere effettuato solo quando sono necessari aggiornamenti più profondi o reset completi.

Seguendo questi passaggi ed eseguendo prima i test di configurazione, è possibile gestire con sicurezza i server Nginx, sia che si tratti di un VPS, di un server dedicato o di un ambiente cloud.