Guida all'installazione di Nginx: Passaggio per Passaggio per Principianti
Benvenuti nel mondo del web serving ad alte prestazioni! Nginx (pronunciato "engine-x") è diventato lo standard de facto per servire contenuti statici, fungendo da reverse proxy, load balancer e cache HTTP. Per i principianti, ottenere l'installazione iniziale corretta è il primo passo cruciale per sfruttare la sua velocità ed efficienza.
Questa guida fornisce istruzioni chiare, attuabili e dettagliate, passaggio per passaggio, per installare Nginx sulle distribuzioni Linux più comuni (Debian/Ubuntu e CentOS/RHEL). Copriremo anche passaggi essenziali di verifica post-installazione per garantire che il tuo web server funzioni correttamente e sia pronto a gestire il traffico.
Prerequisiti
Prima di iniziare il processo di installazione, assicurati di avere:
- Un server o una macchina virtuale con una distribuzione Linux supportata (Ubuntu/Debian o CentOS/RHEL).
- Un utente non root con privilegi
sudoconfigurato per le attività amministrative. - Una conoscenza di base dell'interfaccia a riga di comando (CLI) di Linux.
Installazione su Sistemi Debian/Ubuntu
Sui sistemi basati su Debian, Nginx è facilmente disponibile nei repository di pacchetti predefiniti. Si consiglia di aggiornare prima l'elenco dei pacchetti per assicurarsi di ottenere l'ultima versione disponibile.
Passaggio 1: Aggiorna elenchi pacchetti
Esegui i seguenti comandi per aggiornare il tuo indice di pacchetti locale:
sudo apt update
Passaggio 2: Installa Nginx
Utilizza il comando apt install per scaricare e installare Nginx e le sue dipendenze:
sudo apt install nginx
Passaggio 3: Verifica lo stato dell'installazione
Al completamento dell'installazione, il servizio viene solitamente avviato automaticamente. Puoi verificarne lo stato utilizzando systemctl:
sudo systemctl status nginx
Dovresti vedere un output che indica che il servizio è active (running).
Installazione su Sistemi CentOS/RHEL
Sui derivati di Red Hat Enterprise Linux (RHEL) come CentOS o Fedora, Nginx viene tipicamente installato utilizzando il gestore di pacchetti yum o dnf. Poiché Nginx potrebbe non essere presente nel repository base predefinito, l'installazione dal repository ufficiale EPEL (Extra Packages for Enterprise Linux) è spesso raccomandata per la versione stabile più recente.
Passaggio 1: Installa il repository EPEL
Per prima cosa, installa il repository EPEL, che contiene molti pacchetti di alta qualità comunemente usati non inclusi nei repository standard.
Per CentOS/RHEL 7:
sudo yum install epel-release
Per CentOS/RHEL 8/9 (utilizzando DNF):
sudo dnf install epel-release
Passaggio 2: Installa Nginx
Ora, installa Nginx utilizzando yum o dnf:
# Utilizzo di yum (sistemi più vecchi)
sudo yum install nginx
# OPPURE utilizzo di dnf (sistemi più recenti)
sudo dnf install nginx
Passaggio 3: Avvia e Abilita il servizio Nginx
A differenza di Debian/Ubuntu, Nginx potrebbe non avviarsi automaticamente dopo l'installazione sui sistemi basati su RHEL. Devi avviarlo manualmente e abilitarlo per l'esecuzione all'avvio del sistema:
# Avvia il servizio immediatamente
sudo systemctl start nginx
# Assicurati che si avvii al riavvio
sudo systemctl enable nginx
# Controlla lo stato
sudo systemctl status nginx
Configurazione del Firewall: Consenti traffico HTTP/HTTPS
Un passaggio cruciale dopo l'installazione è assicurarsi che il tuo firewall consenta connessioni esterne per raggiungere il web server. Se salti questo passaggio, gli utenti esterni non potranno visualizzare il tuo sito.
Utilizzo di UFW (Uncomplicated Firewall - Comune su Ubuntu/Debian)
Nginx registra profili specifici con UFW durante l'installazione. Raccomandiamo di aprire la porta 80 (HTTP) e opzionalmente la porta 443 (HTTPS).
# Elenca i profili delle applicazioni disponibili
sudo ufw app list
# Consenti traffico web standard (HTTP/HTTPS)
sudo ufw allow 'Nginx Full'
# Ricarica il firewall per applicare le modifiche
sudo ufw reload
Utilizzo di Firewalld (Comune su CentOS/RHEL)
Firewalld utilizza le zone per gestire le regole. Generalmente aggiungiamo i servizi alla zona public.
# Consenti traffico HTTP (porta 80)
sudo firewall-cmd --permanent --add-service=http
# Consenti traffico HTTPS (porta 443)
sudo firewall-cmd --permanent --add-service=https
# Ricarica le regole del firewall
sudo firewall-cmd --reload
Verifica: Conferma che Nginx sia Operativo
Con l'installazione completata e il firewall configurato, puoi confermare che Nginx stia servendo correttamente i contenuti.
Metodo 1: Controllo tramite browser web
Apri il tuo browser web preferito e naviga all'indirizzo IP del tuo server o al nome del dominio:
http://IL_TUO_INDIRIZZO_IP_DEL_SERVER
Se l'operazione ha successo, dovresti visualizzare la pagina di benvenuto predefinita di Nginx, che tipicamente dice: "Welcome to nginx!"
Metodo 2: Controllo tramite riga di comando
Usa il comando curl per recuperare il contenuto della pagina indice predefinita direttamente dal localhost del server:
curl http://localhost
Questo comando dovrebbe restituire il codice sorgente HTML della pagina di benvenuto.
Comandi Essenziali per la Gestione di Nginx
Una volta installato, userai frequentemente systemctl per gestire il processo Nginx. Ecco i comandi più comuni:
| Azione | Comando |
|---|---|
| Avvia il server | sudo systemctl start nginx |
| Arresta il server | sudo systemctl stop nginx |
| Riavvia (Arresta e poi Avvia) | sudo systemctl restart nginx |
| Ricarica (Applica modifiche alla configurazione senza interruzioni) | sudo systemctl reload nginx |
| Controlla Stato | sudo systemctl status nginx |
| Disabilita avvio automatico al boot | sudo systemctl disable nginx |
Consiglio Best Practice: Quando apporti modifiche ai file di configurazione (come
/etc/nginx/nginx.conf), testa sempre la sintassi prima di ricaricare. Usasudo nginx -tper verificare la presenza di errori. Se il test ha successo, usasudo systemctl reload nginxper applicare le modifiche in modo fluido.
Dove Andare Successivamente: Configurazione Iniziale
Congratulazioni, Nginx è installato e in esecuzione! La configurazione predefinita serve i contenuti da /var/www/html/index.nginx-debian.html (su Debian/Ubuntu) o /usr/share/nginx/html/index.html (su CentOS/RHEL).
I tuoi prossimi passi includono la creazione di un Blocco Server (spesso chiamato Virtual Host) per definire dove si trovano i file del tuo sito web effettivo e come Nginx dovrebbe gestire le richieste per il tuo dominio. I file di configurazione per questi blocchi sono solitamente memorizzati in /etc/nginx/sites-available/ e collegati simbolicamente a /etc/nginx/sites-enabled/.
Questa installazione iniziale fornisce le basi su cui puoi costruire ambienti di hosting ad alte prestazioni, soluzioni di load balancing e configurazioni di proxy sicure.