- 1 1. Introduzione
- 2 2. Installazione di Nginx su Ubuntu
- 3 3. Configurazione di base di Nginx su Ubuntu
- 4 4. Avvio e gestione di Nginx
- 5 5. Impostazioni del firewall di Nginx e rafforzamento della sicurezza
- 6 6. Ottimizzazione delle prestazioni di Nginx e risoluzione dei problemi
- 7 7. Riepilogo e prossimi passi
1. Introduzione
Molti utenti sono interessati a utilizzare Nginx su Ubuntu, ma i principianti potrebbero non sapere da dove cominciare. Questo articolo fornisce una spiegazione chiara, passo‑passo—dall’installazione di Nginx su Ubuntu alla sua configurazione e gestione—anche se non hai alcuna esperienza pregressa.
Che cos’è Nginx?
Nginx (Engine‑X) è un server HTTP ad alte prestazioni e un server proxy inverso. Grazie alla sua architettura leggera e flessibile, è ampiamente usato nei server web e nelle applicazioni di tutto il mondo. La sua struttura è particolarmente adatta a gestire ambienti ad alto traffico.
Vantaggi dell’utilizzo di Nginx su Ubuntu
Ubuntu è una distribuzione Linux molto popolare, con eccellente compatibilità con Nginx. Poiché Ubuntu utilizza il sistema di gestione dei pacchetti APT, l’installazione e gli aggiornamenti sono semplici, e puoi contare su una forte stabilità e sicurezza.
Dopo aver letto questo articolo, comprenderai:
- Come installare Nginx su Ubuntu
- Le procedure di configurazione e gestione di base
- Tecniche di ottimizzazione delle prestazioni e risoluzione dei problemi
Ora, cominciamo.
2. Installazione di Nginx su Ubuntu
Per eseguire Nginx su Ubuntu, è necessario installarlo correttamente. Questa sezione spiega i passaggi di installazione in modo chiaro e semplice.
Verifica dei pacchetti richiesti
Prima di installare Nginx, assicurati che il tuo sistema sia aggiornato. Esegui i seguenti comandi:
sudo apt update
sudo apt upgrade
Installazione di Nginx
Per installare Nginx, inserisci il comando seguente:
sudo apt install nginx
Questo comando scarica e installa Nginx direttamente dal repository APT di Ubuntu.
Verifica dell’installazione
Esegui il comando seguente per controllare se Nginx è stato installato correttamente:
sudo systemctl status nginx
Se lo stato mostra active (running), l’installazione è avvenuta con successo.
Configurazione del firewall
Ubuntu include UFW (Uncomplicated Firewall), che puoi utilizzare per consentire il traffico verso Nginx.
sudo ufw allow 'Nginx Full'
sudo ufw enable
Nginx è ora pronto a comunicare sulla porta 80 (HTTP) e sulla porta 443 (HTTPS).
3. Configurazione di base di Nginx su Ubuntu
Installare Nginx da solo non è sufficiente—devi configurarlo correttamente per usarlo in modo efficace.
Posizione e struttura dei file di configurazione
Nginx utilizza i seguenti file di configurazione:
- File di configurazione principale:
/etc/nginx/nginx.conf - File di configurazione specifici per i siti: situati nella directory
/etc/nginx/sites-available/
Di solito, crei i file di configurazione dei virtual host nella directory sites-available e poi crei collegamenti simbolici nella directory sites-enabled per attivarli.
Configurazione di un virtual host
I virtual host consentono a un singolo server di gestire più domini e progetti. L’esempio seguente configura example.com:
sudo nano /etc/nginx/sites-available/example.com
Inserisci la configurazione qui sotto:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
Salva il file, quindi abilita la configurazione:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Configurazione di SSL/TLS
Per abilitare la comunicazione sicura, configura i certificati SSL/TLS. Puoi ottenere certificati gratuiti usando Let’s Encrypt.
Prima, installa certbot:
sudo apt install certbot python3-certbot-nginx
Quindi richiedi il certificato e applica le impostazioni automaticamente:
sudo certbot --nginx -d example.com -d www.example.com
Assicurati che il rinnovo automatico del certificato sia abilitato per evitare scadenze.
4. Avvio e gestione di Nginx
Una volta che Nginx è installato e configurato, devi imparare come avviarlo, fermarlo, ricaricarlo e risolverne i problemi. Questa sezione spiega i comandi amministrativi essenziali.
Comandi base di Nginx
Su Ubuntu, usa il comando systemctl per gestire Nginx:
- Avvia Nginx
sudo systemctl start nginx
- Ferma Nginx
sudo systemctl stop nginx
- Riavvia Nginx Usare quando vengono apportate modifiche importanti alla configurazione.
sudo systemctl restart nginx
- Ricarica Nginx Applica le modifiche alla configurazione senza riavviare.
sudo systemctl reload nginx
- Verifica lo stato di Nginx
sudo systemctl status nginx
Abilita avvio automatico
Per avviare Nginx automaticamente dopo il riavvio del sistema:
- Abilita avvio automatico
sudo systemctl enable nginx
- Disabilita avvio automatico
sudo systemctl disable nginx
Controlli dei log e risoluzione dei problemi
Se Nginx non funziona come previsto, controlla i log:
- Log degli errori
sudo tail -f /var/log/nginx/error.log
- Log di accesso
sudo tail -f /var/log/nginx/access.log
Problemi comuni e soluzioni
- Nginx non si avvia
- Causa: errori nel file di configurazione
- Soluzione:
bash sudo nginx -tControlla gli errori di sintassi e correggili.
- Le modifiche non vengono applicate
- Causa: Nginx non è stato ricaricato
- Soluzione: Esegui
sudo systemctl reload nginxdopo le modifiche.
- Porte non aperte
- Causa: impostazioni del firewall
- Soluzione:
bash sudo ufw allow 'Nginx Full'

5. Impostazioni del firewall di Nginx e rafforzamento della sicurezza
La sicurezza è fondamentale quando si utilizza Nginx. Questa sezione spiega come configurare UFW e rafforzare la sicurezza di Nginx.
Apertura delle porte con UFW
UFW è installato di default su Ubuntu. Per abilitare la comunicazione di Nginx, apri le porte necessarie:
- Verifica lo stato di UFW
sudo ufw status
- Applica le regole di Nginx
sudo ufw allow 'Nginx Full'
- Abilita UFW
sudo ufw enable
Ulteriori miglioramenti della sicurezza
- Disabilita metodi HTTP non necessari
if ($request_method !~ ^(GET|POST|HEAD)$) { return 444; }
- Disabilita la visualizzazione delle directory
autoindex off;
- Rafforza SSL/TLS
ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers HIGH:!aNULL:!MD5;
6. Ottimizzazione delle prestazioni di Nginx e risoluzione dei problemi
Nginx è noto per le sue prestazioni, ma una corretta ottimizzazione può migliorarle ulteriormente. Questa sezione spiega come ottimizzare le risorse e risolvere i problemi comuni.
Ottimizzazione delle prestazioni
1. Configura i processi worker
Modifica /etc/nginx/nginx.conf e ottimizza il numero di processi worker:
worker_processes auto;
2. Aumenta le connessioni worker
worker_connections 1024;
3. Abilita HTTP/2
listen 443 ssl http2;
sudo systemctl reload nginx
4. Abilita la compressione
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
5. Configura la cache
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg)$ {
expires 30d;
access_log off;
}
Problemi comuni e soluzioni
1. Richieste lente sotto carico elevato
- Causa: impostazioni insufficienti dei processi worker o delle connessioni
- Soluzione: regola i parametri worker o introduce il bilanciamento del carico
2. Errore 403 Forbidden
- Causa: percorso
rooterrato o permessi non corretti - Soluzione:
- Verifica la direttiva
roote correggi i permessi usando: bash sudo chmod -R 755 /var/www/example.com/html sudo chown -R www-data:www-data /var/www/example.com/html
3. Timeout del server
- Causa: l’elaborazione della richiesta del client richiede troppo tempo
- Soluzione:
proxy_read_timeout 300; proxy_connect_timeout 300; proxy_send_timeout 300;
4. Errori di riavvio
- Causa: problemi di sintassi nella configurazione
- Soluzione:
sudo nginx -t
7. Riepilogo e prossimi passi
Questo articolo ha spiegato come installare, configurare e gestire Nginx su Ubuntu. Rivediamo ciò che hai imparato e identifichiamo i possibili prossimi passi.
Revisione dell’articolo
1. Installazione di Nginx su Ubuntu
- Preparato i pacchetti necessari e imparato come installare Nginx usando APT
- Configurato il firewall (UFW) per consentire il traffico Nginx
2. Configurazione di base
- Imparate le posizioni dei file, la configurazione dell’host virtuale e la configurazione SSL/TLS
3. Operazioni di gestione
- Padroneggiati i comandi di avvio, arresto, riavvio, ricarica e investigazione dei log
4. Firewall e sicurezza
- Aperte le porte necessarie usando UFW e disabilitati i metodi HTTP non necessari
5. Ottimizzazione delle prestazioni e risoluzione dei problemi
- Ottimizzati i processi worker, abilitato HTTP/2, configurata la cache e risolti i problemi comuni
Prossimi passi
Ora che comprendi i passaggi fondamentali di installazione e configurazione di Nginx su Ubuntu, considera di andare oltre:
- Impara la configurazione avanzata di Nginx
- Studia le funzionalità di bilanciamento del carico e reverse proxy
- Prova moduli aggiuntivi come il modulo Nginx RTMP
- Migliora la sicurezza
- Considera l’implementazione di un Web Application Firewall (WAF)
- Introduci l’automazione
- Usa Ansible o Docker per automatizzare la configurazione e il deployment
- Utilizza strumenti di monitoraggio e ottimizzazione
- Implementa Prometheus o Grafana per visualizzare e monitorare le prestazioni
Considerazioni finali
Nginx è un server web veloce e flessibile, capace di supportare una vasta gamma di casi d’uso quando è configurato correttamente. Applica ciò che hai imparato qui a progetti reali e continua a esplorare funzionalità aggiuntive attraverso la documentazione ufficiale di Nginx e le risorse della community.
Spero che questa guida ti aiuti a gestire il tuo server web in modo più efficiente!
