NGINX pronunciato come engine-x è un server HTTP popolare e open source e può essere configurato per agire come proxy inverso e bilanciatore del carico.
Rispetto ad Apache, NGINX è meno affamato di risorse e può soddisfare un gran numero di richieste simultanee grazie alla sua architettura basata su eventi e asincrona.
Sebbene Apache abbia un vantaggio nella quota di mercato, NGINX sta costantemente guadagnando terreno negli ultimi anni. In questo articolo, esploreremo come installare NGINX su Ubuntu 18.04 insieme alla configurazione di un host virtuale.
Prerequisiti
Puoi SSH nel sistema Ubuntu 18.04 usando l'utente root o sudo abilitato. Se hai effettuato l'accesso come root, puoi eseguire i comandi così com'è. Se stai utilizzando un sudo abilitato utilizzato, anteponi ai comandi "sudo".
Aggiorna il sistema
Prima di iniziare l'installazione di NGINX, si consiglia sempre di aggiornare Ubuntu 18.04 all'ultima versione. I seguenti comandi apt-get lo faranno per te.
# apt-get update
# apt-get upgrade
Il primo comando aggiornerà l'elenco dei pacchetti disponibili e le loro versioni e il secondo installerà effettivamente le versioni più recenti dei pacchetti che hai.
Una volta terminato l'aggiornamento del sistema, controlla la versione di rilascio del tuo sistema Ubuntu con il seguente comando.
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
Installa NGINX su Ubuntu
NGINX è disponibile nei repository predefiniti di Ubuntu e può essere installato con un comando a riga singola come mostrato di seguito.
# apt-get install nginx
Una volta installato NGINX, verrà eseguito automaticamente. Puoi verificarlo utilizzando il seguente systemctl comando.
# systemctl status nginx
● 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 Tue 2019-02-12 09:12:08 UTC; 11s ago
Docs: man:nginx(8)
Process: 17726 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 17714 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 17729 (nginx)
Tasks: 2 (limit: 1152)
CGroup: /system.slice/nginx.service
├─17729 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─17732 nginx: worker process
L'output del comando precedente verifica che NGINX sia caricato e attivo con PID di 17729.
Configurazione dell'accesso al firewall
Probabilmente hai abilitato in precedenza il gestore firewall predefinito UFW nel tuo sistema Ubuntu 18.04. Pertanto, è necessario sbloccare la porta numero 80 utilizzata da NGINX per servire le pagine Web tramite HTTP.
# ufw allow 80/tcp
# ufw reload
Se hai intenzione di utilizzare HTTPS installando un certificato SSL in una fase successiva, apri anche la porta numero 443.
# ufw allow 443/tcp
# ufw reload
Ora punta il tuo browser web preferito su https://SERVER_IP
, sarai accolto con la pagina di benvenuto di NGINX.

Pagina di benvenuto di Nginx
In alternativa, puoi anche verificare lo stesso usando un comando CURL. Se Nginx è attivo e funzionante, il seguente comando curl recupererà le intestazioni della pagina indice, altrimenti visualizzerà un messaggio di errore. Regola l'indirizzo IP utilizzato con il seguente comando curl secondo il tuo.
# curl -I 13.234.46.76

cURL IP del server Nginx
Gestione del servizio NGINX
Gestire il servizio NGINX è abbastanza semplice come lo fai per altri servizi systemd. La sezione seguente elencherà ciascuno dei comandi di sistema NGINX uno per uno.
1. Arresta il server NGINX
Per interrompere il servizio NGINX utilizzare il seguente comando systemd:
# systemctl stop nginx
2. Avvia il server NGINX
Avvia nuovamente NGINX utilizzando:
# systemctl start nginx
3. Riavvia il server NGINX
Per interrompere e avviare il servizio NGINX utilizzare:
# systemctl restart nginx
4. Ricarica le configurazioni del server NGINX
Per ricaricare il servizio NGINX senza perdere le connessioni usa:
# systemctl reload nginx
5. Disabilita l'avvio automatico di NGINX all'avvio
Per impostazione predefinita, NGINX è configurato per avviarsi automaticamente durante il riavvio, come abbiamo visto in precedenza. Per disabilitare questo comportamento usa il seguente comando:
# systemctl disable nginx
5. Abilita l'avvio automatico di NGINX all'avvio
Per consentire l'avvio automatico di NGINX durante il riavvio, utilizzare:
# systemctl enable nginx
Aggiungi un host virtuale al server NGINX
Il file di configurazione per la pagina predefinita servita da NGINX si trova nella posizione /etc/nginx/sites-available e il nome del file deve essere predefinito . Modifica questo file per aggiungere più opzioni di configurazione per il tuo sito predefinito. Ma siamo interessati ad aggiungere un host virtuale.
Per aggiungere un host virtuale, vai a /etc/nginx/sites-available cartella. Questa è la posizione predefinita per i blocchi del server NGINX. Usa il tuo editor preferito per creare uno di questi blocchi di server, ovvero un host virtuale nella suddetta posizione.
# cd /etc/nginx/sites-available
# cat wordpress.conf
server {
listen 80;
root /var/www/html/wordpress;
index index.html;
server_name example.journaldev.com;
}
L'host virtuale di cui sopra utilizza il nome del server come esempio.journaldev.com, cambia questo nome nel tuo dominio. Ora crea la radice per il sito come sopra il blocco del server e cambia la proprietà della cartella in NGINX proprietario che è www-data.
# mkdir -p /var/www/html/wordpress
# chown -R www-data:www-data /var/www/html/wordpress
Per attivare il blocco del server creare un collegamento simbolico del file di configurazione dell'host virtuale sopra all'interno di /etc/nginx/sites-enabled cartella.
# cd /etc/nginx/sites-enabled
# ln -s ../sites-available/wordpress.conf .
Infine crea una pagina indice:
# cd /var/www/html/wordpress
# echo "This page is served from the domain example.journaldev.com" > index.html
Ricarica le nuove impostazioni di NGINX:
# systemctl reload nginx
Usa il comando curl per verificare se NGINX sta servendo la pagina di indice per il nuovo dominio:
# curl example.journaldev.com
This page is served from the domain example.journaldev.com
L'output del comando CURL precedente verifica che NGINX stia servendo la pagina di indice per il dominio example.journaldev.com e quindi convalida la correttezza della configurazione dell'host virtuale sopra.
Conclusione
L'installazione di NGINX in Ubuntu 18.04 è completa. Oltre all'installazione di NGINX, abbiamo anche verificato varie opzioni systemd di NGINX e come aggiungere un host virtuale tramite i blocchi del server NGINX. Ora puoi procedere con l'installazione di un certificato SSL per il tuo dominio possibilmente da Lets Encrypt creando un altro blocco server e questo consentirà a NGINX di servire le pagine utilizzando HTTPS.