Introduzione

Nginx è un server HTTP gratuito e open source ad alte prestazioni e proxy inverso responsabile della gestione del carico di alcuni dei più grandi siti su Internet. Può essere utilizzato come server Web autonomo e come proxy inverso per Apache e altri server Web.

Se sei uno sviluppatore o un amministratore di sistema, è probabile che tu abbia a che fare con Nginx regolarmente.

In questa guida, esamineremo i comandi Nginx più importanti e utilizzati di frequente, tra cui l'avvio, l'arresto e il riavvio di Nginx.

Prima di iniziare

Supponiamo che tu abbia effettuato l'accesso come root o utente con privilegi sudo. I comandi in questo caso dovrebbero funzionare su qualsiasi distribuzione Linux moderna come Ubuntu 18.04 e CentOS 8 e Debian 10.

Avvio di Nginx

Avviare Nginx è piuttosto semplice. Basta eseguire il comando seguente:

sudo systemctl start nginx

In caso di successo, il comando non produce alcun output.

Se stai eseguendo una distribuzione Linux senza systemd per avviare Nginx digita:

sudo service start nginx

Invece di avviare manualmente il servizio Nginx, si consiglia di impostarlo per l'avvio all'avvio del sistema:

sudo systemctl enable nginx

Fermare Nginx

L'arresto di Nginx arresta rapidamente tutti i processi di lavoro di Nginx anche se sono presenti connessioni aperte.

Per interrompere Nginx, eseguire uno dei seguenti comandi:

sudo systemctl stop nginx

Se stai eseguendo una distribuzione Linux senza systemd per avviare Nginx digita:

sudo service stop nginx

Riavvio di Nginx

L'opzione di riavvio è un modo rapido per arrestare e quindi avviare il server Nginx.

Utilizzare uno dei seguenti comandi per eseguire un riavvio di Nginx:

sudo systemctl restart nginx

Oppure:

sudo service restart nginx

Questo è il comando che probabilmente utilizzerai più frequentemente.

Ricarica Nginx

È necessario ricaricare o riavviare Nginx ogni volta che si apportano modifiche alla sua configurazione.

Il comando reload carica la nuova configurazione, avvia i nuovi processi di lavoro con la nuova configurazione e arresta con grazia i vecchi processi di lavoro.

Per ricaricare Nginx, utilizzare uno dei seguenti comandi:

sudo systemctl reload nginx

Oppure:

sudo service reload nginx

Test della configurazione di Nginx

Ogni volta che si apportano modifiche al file di configurazione del server Nginx, è consigliabile testare la configurazione prima di riavviare o ricaricare il servizio.

Utilizzare il comando seguente per verificare la configurazione di Nginx per eventuali errori di sintassi o di sistema:

sudo nginx -t

L'output sarà simile al seguente:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

In caso di errori, il comando stampa un messaggio dettagliato.

Visualizzazione dello stato di Nginx

Per verificare lo stato del servizio Nginx, utilizzare il comando seguente:

sudo systemctl status nginx

L'output sarà simile al seguente:

nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-11-18 22:54:20 CET; 9min ago
     Docs: man:nginx(8)
 Main PID: 10889 (nginx)
    Tasks: 2 (limit: 2301)
   Memory: 3.1M
   CGroup: /system.slice/nginx.service
           ├─10889 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           └─10890 nginx: worker process

Nov 18 22:54:20 TEST-SERVER-1 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 18 22:54:20 TEST-SERVER-1 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid
Nov 18 22:54:20 TEST-SERVER-1 systemd[1]: Started A high performance web server and a reverse proxy server.
lines 1-14/14 (END)

Verifica della versione di Nginx

A volte potrebbe essere necessario conoscere la versione di Nginx in modo da poter eseguire il debug di un problema o determinare se una determinata funzionalità è disponibile.

Puoi controllare la tua versione di Nginx eseguendo:

sudo nginx -v
nginx version: nginx/1.14.2

L' opzione -V visualizza la versione di Nginx insieme alle opzioni di configurazione.

sudo nginx -V

Conclusione

In questa guida, abbiamo visto alcuni dei comandi Nginx più essenziali. Se vuoi saperne di più sulle opzioni della riga di comando di Nginx, visita la documentazione di Nginx.