Ricerca nel sito web

Come installare il server Web Nginx su Ubuntu 20.04


Nginx è un server web open source ad alte prestazioni che detiene un'enorme quota di mercato negli ambienti di produzione. È un server web leggero e robusto che viene utilizzato principalmente per ospitare siti Web ad alto traffico.

Leggi correlate: Come installare il server Web Apache su Ubuntu 20.04

In questa guida imparerai come installare il server web Nginx e configurare il blocco server Nginx (host virtuali) su Ubuntu 20.04 LTS.

Prerequisiti

Per iniziare, assicurati di avere un'istanza di Ubuntu 20.04 LTS con accesso SSH e un utente Sudo con privilegi root. Inoltre, per installare i pacchetti Nginx si consiglia una connessione Internet stabile.

Installazione di Nginx su Ubuntu 20.04

1. Prima di installare Nginx, aggiorna gli elenchi dei pacchetti del tuo server.

sudo apt update

2. Quindi installa Nginx eseguendo il comando:

sudo apt install nginx

Quando ti viene richiesto di continuare, premi 'Y' sulla tastiera e premi INVIO. L'installazione verrà eseguita in pochi secondi.

3. Con Nginx installato correttamente, puoi avviarlo e verificarlo eseguendo:

sudo systemctl start nginx
sudo systemctl status nginx

L'output sopra indica chiaramente che Nginx è in esecuzione.

4. Per verificare la versione di Nginx, esegui:

sudo dpkg -l nginx

L'output indica che stiamo utilizzando Nginx 1.17.10, che è la versione più recente al momento della stesura di questo articolo.

Apri le porte Nginx sul firewall UFW

Ora che hai Nginx installato e funzionante come previsto, sono necessarie alcune modifiche per poter accedere a Nginx tramite un browser web. Se utilizzi il firewall UFW, devi consentire il profilo dell'applicazione Nginx.

Esistono 3 profili Nginx associati al firewall ufw.

  1. Nginx Full: apre entrambe le porte 80 e 443 (per la crittografia SSL/TLS).
  2. Nginx HTTP: questa porta aperta solo 80 (per il traffico web non crittografato).
  3. Nginx HTTPS: apre solo la porta 443 (per la crittografia SSL/TLS).

5. Inizia abilitando il firewall su Ubuntu 20.04.


sudo ufw enable

6. Per ora, poiché non siamo su un server crittografato, consentiremo solo il profilo Nginx HTTP che consentirà il traffico sulla porta 80 .

sudo ufw allow 'Nginx HTTP'

7. Quindi ricarica il firewall affinché le modifiche persistano.

sudo ufw reload

8. Ora controlla lo stato del firewall per verificare i profili che sono stati consentiti.

sudo ufw status

Testare Nginx su Ubuntu 20.04

Nginx funziona sul browser come ti aspetteresti da qualsiasi server web e il modo più sicuro per verificare se funziona come previsto è inviare richieste tramite un browser.

9. Quindi apri il tuo browser e cerca l'indirizzo IP o il nome di dominio del server. Per controllare l'IP del tuo server, esegui il comando ifconfig:

ifconfig

10. Se utilizzi un server cloud, esegui il comando curl riportato di seguito per recuperare l'IP pubblico del server.

curl ifconfig.me

11. Nel campo URL del tuo browser, inserisci l'indirizzo IP o il nome di dominio del tuo server e premi INVIO.

http://server-IP or domain-name

Dovresti ottenere una pagina di benvenuto Nginx predefinita, come mostrato.

Gestisci il processo Nginx in Ubuntu 20.04

12. Per arrestare il server web Nginx, è sufficiente eseguire:

sudo systemctl stop nginx

13. Per riattivare il server web eseguire:

sudo systemctl start nginx

14. Per avviare automaticamente Nginx all'avvio o al riavvio, eseguire:

sudo systemctl enable nginx

15. Se desideri riavviare il server web soprattutto dopo aver apportato modifiche ai file di configurazione, esegui:

sudo systemctl restart nginx

16. In alternativa, puoi ricaricare per evitare di interrompere le connessioni come mostrato.

sudo systemctl reload nginx

Configurazione del blocco server Nginx in Ubuntu 20.04

Se hai intenzione di ospitare più di un sito sul tuo server, ti consigliamo vivamente di configurare un blocco server Nginx. Il blocco server è l’equivalente dell’host virtuale di Apache.

Per impostazione predefinita, Nginx viene fornito con il suo blocco server predefinito impostato per servire contenuti web nel percorso /var/www/html.

Creeremo un blocco Nginx separato per servire i contenuti del nostro dominio. Per questa guida utilizzeremo il dominio crazytechgeek.info.
Nel tuo caso, assicurati di sostituirlo con il tuo nome di dominio.

17. Per creare un file di blocco del server, crea innanzitutto una directory per il tuo dominio come mostrato.

sudo mkdir -p /var/www/crazytechgeek.info/html

18. Successivamente, assegna la proprietà alla nuova directory utilizzando la variabile $USER.

sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

19. Assicurati di assegnare anche le autorizzazioni per la directory di conseguenza, consentendo al proprietario di avere tutte le autorizzazioni (lettura, scrittura ed esecuzione) e concedendo ad altre parti solo le autorizzazioni di lettura ed esecuzione.

sudo chmod -R 755 /var/www/crazytechgeek.info

20. All'interno della directory del dominio, crea un index.html un file che conterrà il contenuto web del dominio.

sudo vim /var/www/crazytechgeek.info/html/index.html

Incolla il contenuto sottostante nel file di test di esempio.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Bravo! Your server block is working as expected!</h1>
    </body>
</html>

Salvare le modifiche ed uscire dal file.

21. Affinché il server web Nginx possa servire il contenuto che hai appena aggiunto, devi creare un blocco server con le direttive appropriate. In questo caso, abbiamo creato un nuovo blocco server in:

sudo vim /etc/nginx/sites-available/crazytechgeek.info

Incolla la configurazione mostrata.

server {
        listen 80;
        listen [::]:80;

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info  www.crazytechgeek.info;

        location / {
                try_files $uri $uri/ =404;
        }
}

Salva ed esci.

22. Ora abilita il file di blocco del server collegandolo alla directory sites-enabled da cui il server Nginx legge all'avvio.

sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/

23. Per rendere effettive le modifiche, riavviare il server web Nginx.

sudo systemctl restart nginx

24. Solo per essere sicuro che tutte le configurazioni siano in ordine, esegui il comando:

nginx -t

Se tutte le configurazioni sono in ordine, dovresti ottenere l'output mostrato di seguito:

25. Il server web Nginx dovrebbe ora servire i contenuti del tuo dominio. Ancora una volta, vai al tuo browser e esplora il dominio del tuo server.

http://domain-name

I tuoi contenuti personalizzati nella directory del tuo dominio verranno pubblicati come mostrato.

File di configurazione Nginx importanti

Prima di concludere, è fondamentale esaminare alcuni degli importanti file di configurazione associati a Nginx.

File di configurazione Nginx

  • /etc/nginx/nginx.conf: questo è il file di configurazione principale. Puoi modificare le impostazioni per soddisfare i requisiti del tuo server.
  • /etc/nginx/sites-available: questa è la directory che memorizza la configurazione del blocco del server. Nginx utilizza i blocchi server solo se sono collegati alla directory abilitata ai siti.
  • /etc/nginx/sites-enabled: la directory contiene blocchi server Nginx per sito che sono già abilitati.

File di registro Nginx

Esistono due file di registro principali che puoi utilizzare per risolvere i problemi del tuo server web Nginx:

  • /var/log/nginx/access.log: registra tutte le richieste effettuate al server web.
  • /var/log/nginx/error.log: questo è il file di registro degli errori e registra tutti gli errori riscontrati da Nginx.
Conclusione

Siamo giunti alla fine di questo tutorial. Abbiamo mostrato come installare Nginx su Ubuntu 20.04 e come impostare i blocchi del server Nginx per servire i contenuti del tuo dominio. Il tuo feedback è benvenuto.