Nginx pronunciato "engine x" è un server HTTP e proxy inverso open source ad alte prestazioni responsabile della gestione del carico di alcuni dei più grandi siti su Internet. Può essere utilizzato come server Web autonomo, bilanciamento del carico, cache dei contenuti e proxy inverso per server HTTP e non HTTP.
Rispetto ad Apache, Nginx può gestire un numero molto elevato di connessioni simultanee e ha un footprint di memoria inferiore per connessione.
Questo tutorial descrive come installare e gestire Nginx su Ubuntu 20.04.
Prerequisiti #
Prima di continuare, assicurati di aver effettuato l'accesso come utente con privilegi sudo e di non avere Apache o altri processi in esecuzione sulla porta 80 o 443.
Installazione di Nginx #
Nginx è disponibile nei repository Ubuntu predefiniti. Per installarlo esegui i seguenti comandi:
sudo apt update
sudo apt install nginx
Una volta completata l'installazione, il servizio Nginx si avvierà automaticamente. Puoi verificarlo eseguendo:
sudo systemctl status nginx
L'output sarà simile a questo:
● 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 Sat 2020-05-02 20:25:43 UTC; 13s ago
...
Questo è tutto. Nginx è stato installato sulla tua macchina Ubuntu. Puoi gestire il servizio Nginx allo stesso modo di qualsiasi altra unità di sistema.
Configurazione del firewall #
Ora che Nginx è installato e in esecuzione sul tuo server, devi assicurarti che il tuo firewall sia configurato per consentire il traffico su HTTP (80
) e HTTPS (443
) porti. Supponendo che tu stia usando UFW
, puoi farlo abilitando il profilo "Nginx Full" che include regole per entrambe le porte:
sudo ufw allow 'Nginx Full'
Per verificare il tipo di stato:
sudo ufw status
L'output sarà simile al seguente:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Nginx Full ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
Verifica l'installazione #
Per testare la tua nuova installazione di Nginx, apri http://YOUR_IP
nel tuo browser preferito e dovresti vedere la pagina di destinazione Nginx predefinita come mostrato nell'immagine qui sotto:
Struttura e best practice del file di configurazione Nginx #
- Tutti i file di configurazione di Nginx si trovano in
/etc/nginx
directory. - Il file di configurazione principale di Nginx è
/etc/nginx/nginx.conf
. - Per semplificare la manutenzione della configurazione di Nginx, si consiglia di creare un file di configurazione separato per ciascun dominio. Puoi avere tutti i file di blocco del server di cui hai bisogno.
- I file di blocco del server Nginx sono archiviati in
/etc/nginx/sites-available
directory. I file di configurazione trovati in questa directory non vengono utilizzati da Nginx a meno che non siano collegati al/etc/nginx/sites-enabled
directory. - Per attivare un blocco server, devi creare un collegamento simbolico (un puntatore) dal file di configurazione sites in un
sites-available
nella directorysites-enabled
directory. - Si consiglia di seguire la convenzione di denominazione standard. Ad esempio, se il tuo nome di dominio è
mydomain.com
quindi il tuo file di configurazione dovrebbe essere chiamato/etc/nginx/sites-available/mydomain.com.conf
- Il
/etc/nginx/snippets
contiene frammenti di configurazione che possono essere inclusi nei file di blocco del server. Se utilizzi segmenti di configurazione ripetibili, puoi refactoring di tali segmenti in snippet e includere il file snippet nei blocchi del server. - File di registro Nginx (
access.log
eerror.log
) si trovano in/var/log/nginx
directory. Si consiglia di avere unaccess
diverso eerror
log per ogni blocco di server. - Puoi impostare la directory principale del documento di dominio in qualsiasi posizione desideri. Le posizioni più comuni per webroot includono:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>