Nginx - Controllare Nginx da riga di comando

Nginx mette a disposizione una serie di comandi per lo stop & start e l’aggiornamento “a caldo” dei file di configurazione e del programma. Il numero di comandi è ridotto dal momento che l’intera configurazione di Nginx è delegata allo specifico file di configurazione. L’unico comando disponibile è il semplice comando nginx.

Opzioni

E’ possibile invocare il comando Nginx seguito da una serie di parametri:

Controllare Nginx attraverso i segnali

E’ possibile controllare sia il processo “master” che i singoli processi “workers” attraverso i segnali. Ricordiamo che di norma Nginx registra il file pid per il processo master nel file /usr/local/nginx/logs/nginx.pid, a meno che sia stato specificato un percorso differente per mezzo del comando ./configure durante la procedura di compilazione.

Il proceddo “master” di Nginx riconosce i seguenti segnali:

Aggiornamento a caldo di configurazione e binari

Uno degli aspetti interessanti di Nginx, insieme alla facilità di configurazione e alle performance, è la possibilità di aggiornare configurazione e binari di Nginx senza interruzioni di servizio e senza perdere alcuna connessione.

Nell’esempio che segue si è proceduto a controllare la correttezza del nuovo file di configurazione, e quindi a procedere al caricamento della nuova configurazione senza procedere allo shutdown del servizio:

# nginx -t -c /etc/nginx/nginx.conf
2007/03/16 13:07:10 [info] 15686#0: the configuration file /etc/nginx/nginx.conf syntax is ok
2007/03/16 13:07:10 [info] 15686#0: the configuration file /etc/nginx/nginx.conf was tested successfully
# ps aux | egrep '(PID|nginx)'
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2213 0.0 0.0 6784 2036 ? Ss 03:01 0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
# kill -HUP 2213

Dopo aver eseguito il comando kill -HUP 2213 il processo master ha caricato il nuovo file di configurazione, i processi worker che verranno istanziati utilizzeranno il nuovo file di configurazione e appena possibile i processi worker attivi procederanno allo shutdown.

Nel caso in cui Nginx non sia in grado di applicare il nuovo file di configurazione, ad esempio per un errore all’interno del file di configurazione indicato, continuerà ad utilizzare il file di configurazione già in uso.

Per procedere all’aggiornamento a caldo di Nginx, ad esempio per un aggiornamento ad una nuova versione o di seguito alla ricompilazione dei binari, è necessario: