Il software per server web Nginx può essere in­stal­la­to in pochi passi in Ubuntu. Vi spie­ghia­mo come fare e quali sono i requisiti del server.

Quali sono i requisiti di un server web Nginx?

Per Nginx è ne­ces­sa­rio un server con Linux come sistema operativo. Tra le varie al­ter­na­ti­ve, Ubuntu si è affermata come una di­stri­bu­zio­ne stabile e semplice da uti­liz­za­re. La capacità richiesta dal vostro server Ubuntu dipende in­nan­zi­tut­to dalle di­men­sio­ni del vostro progetto. Per un sito web semplice, è suf­fi­cien­te una con­fi­gu­ra­zio­ne hardware modesta. Nginx è rinomato per la capacità di ri­spar­mia­re risorse senza sa­cri­fi­ca­re le pre­sta­zio­ni.

Per co­min­cia­re, con­si­glia­mo una con­fi­gu­ra­zio­ne simile alla seguente:

  • 100 GB di spazio di ar­chi­via­zio­ne
  • 6 GB di RAM
  • 1 core di CPU

No­leg­gian­do un server cloud con una tariffa Flex di IONOS, potete con­fi­gu­ra­re li­be­ra­men­te l’hardware. Un grande vantaggio è che se le vostre esigenze aumentano, potete sem­pli­ce­men­te mo­di­fi­ca­re la con­fi­gu­ra­zio­ne.

Consiglio

Forse il server cloud non è la soluzione giusta per il vostro progetto. Su IONOS troverete anche server dedicati, che con­sen­to­no un accesso all’hardware esclusivo, e server virtuali (VPS) con vir­tua­liz­za­zio­ne completa.

Affinché il vostro server web sia ac­ces­si­bi­le su internet, avrete bisogno anche di un dominio.

Controllo Dominio

In­stal­la­re Nginx su Ubuntu 20.04: guida completa

In­stal­la­re e con­fi­gu­ra­re Nginx su Ubuntu può essere fatto in pochi semplici passaggi.

Primo passaggio: scaricare e in­stal­la­re il software

Prima di in­stal­la­re Nginx, dovete ag­gior­na­re la gestione dei pacchetti del sistema:

sudo apt update
sudo apt upgrade
bash

Dopodiché in­stal­la­te Nginx sul vostro sistema:

sudo apt install nginx
bash

Ora non vi resta che con­fer­ma­re il processo di in­stal­la­zio­ne.

Secondo passaggio: aprire la porta del firewall

Per poter accedere al vostro server web dall’esterno, dovete con­fi­gu­ra­re il firewall. Su Ubuntu, questo compito è affidato al programma “ufw”. Per ottenere l’im­po­sta­zio­ne più re­strit­ti­va possibile, se­le­zio­na­te il seguente comando:

sudo ufw allow 'Nginx HTTP'
bash

In questo modo avete aperto la porta 80. Potrebbe essere ne­ces­sa­rio ripetere questa ope­ra­zio­ne nelle im­po­sta­zio­ni del provider. Nel Cloud Panel di IONOS, ad esempio, troverete le im­po­sta­zio­ni della porta alla voce “Firewall”.

Immagine: Cloud Panel di IONOS: impostazioni del firewall con la porta 80 aperta
Aprite la porta 80 nelle im­po­sta­zio­ni del server in modo che i vi­si­ta­to­ri e le vi­si­ta­tri­ci possano accedere al vostro server web.

Terzo passaggio: testare, avviare e arrestare il server

Ora potete ve­ri­fi­ca­re se l’in­stal­la­zio­ne del server web ha fun­zio­na­to. Inserite questo comando nel terminale:

systemctl status nginx
bash

Nell’output dovrebbe risultare che lo stato del server è “attivo”. Inoltre, è possibile ri­chia­ma­re il server nel browser. Per farlo, inserite l’indirizzo IP del server nella riga degli indirizzi del browser.

Immagine: Messaggio di benvenuto del server web Nginx nel browser
Se tutto ha fun­zio­na­to, sarete accolti da questo messaggio di benvenuto di Nginx.

C’è anche la pos­si­bi­li­tà di avviare il server ma­nual­men­te:

sudo nginx
bash

Oltre a questo comando, ne esistono altri che per­met­to­no di con­trol­la­re il vostro server web Nginx:

  • stop: arresta im­me­dia­ta­men­te il server web in ese­cu­zio­ne.
  • quit: arresta il server web in ese­cu­zio­ne dopo che i processi avviati sono stati eseguiti.
  • reload: ricarica il file di con­fi­gu­ra­zio­ne.

I comandi sono strut­tu­ra­ti come segue:

sudo nginx stop
bash

Quarto passaggio: creare una pagina di test

Nginx ha generato au­to­ma­ti­ca­men­te un sito web con un messaggio di benvenuto su Ubuntu 20.04. Troverete il relativo documento HTML nella cartella /var/www/html/. A questo punto potreste creare altri documenti HTML in questa cartella e creare così il vostro sito web. Tuttavia, è meglio lasciare la cartella intatta e creare una nuova cartella apposita per il vostro dominio. Per farlo, eseguite il seguente comando:

sudo mkdir -p /var/www/example.com/html
bash

In questo esempio, uti­liz­zia­mo il nome di dominio example.com, che dovrete so­sti­tui­re con il nome del vostro dominio. Prima di tutto, è ne­ces­sa­rio assegnare i permessi:

sudo chown -R $USER:$USER /var/www/example.com/html
sudo chmod -R 755 /var/www/example.com
bash

Nella nuova cartella create il vostro primo documento HTML. Si tratta della pagina iniziale del vostro progetto:

sudo nano /var/www/example.com/html/index.html
bash

In linea di principio, potete pro­get­ta­re questa pagina iniziale nel modo che preferite. Di seguito un semplice esempio che potete riempire con i vostri contenuti:

<html>
    <head>
        <title>Example</title>
    </head>
    <body>
        <h1>Test</h1>
        <p>Welcome to your first website<p>
    </body>
</html>
bash

Salvate e chiudete il documento.

Finora, il server web con­ti­nua­va a vi­sua­liz­za­re il vecchio saluto standard. Ora bisogna dire a Nginx di ri­chia­ma­re il nuovo contenuto. Per farlo, create un nuovo file di con­fi­gu­ra­zio­ne nella cartella di Nginx:

sudo nano /etc/nginx/sites-available/example.com
bash

Inserite un blocco server in questo nuovo file:

server {
    listen 80;
    listen [::]:80;
    root /var/www/example.com/html;
    index index.html index.htm index.nginx-debian.html;
    server_name example.com www.example.com;
    location / {
        try_files $uri $uri/ =404;
    }
}
bash

As­si­cu­ra­te­vi di inserire la porta libera corretta. Se avete seguito le nostre istru­zio­ni, avrete aperto la porta 80. Salvate e chiudete il file.

Avete creato questo file di con­fi­gu­ra­zio­ne nella cartella “sites-available”. Ora dovrete creare un col­le­ga­men­to nella cartella “sites-enabled”. Questa cartella viene uti­liz­za­ta da Nginx durante l’avvio per de­ter­mi­na­re quale sito web deve essere vi­sua­liz­za­to.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
bash

Riavviate il server:

sudo systemctl restart nginx
bash

Ri­chia­man­do il vostro dominio nel browser, dovreste vi­sua­liz­za­re il vostro nuovo sito web.

Vai al menu prin­ci­pa­le