Guida all'installazione di Nginx: passo dopo passo per principianti
Padroneggia la configurazione iniziale del tuo server web ad alta velocità! Questa guida completa accompagna i principianti attraverso l'installazione precisa, passo dopo passo, di Nginx sia sui sistemi Debian/Ubuntu che su quelli CentOS/RHEL. Impara i comandi essenziali per avviare, arrestare e verificare il servizio, oltre alla configurazione cruciale del firewall per garantire l'accessibilità immediata. Metti in funzione il tuo server web Nginx in pochi minuti.
Guida all'installazione di Nginx: Passo dopo passo per principianti
Hai bisogno di Nginx installato, in esecuzione e raggiungibile prima di poterlo utilizzare come server web, proxy inverso, bilanciatore di carico o cache. Questa guida all'installazione di Nginx illustra la configurazione di base tramite il gestore di pacchetti su sistemi Linux Debian/Ubuntu e RHEL, quindi mostra come verificare il servizio e aprire il firewall.
I comandi seguenti presuppongono un server basato su systemd e un utente con accesso sudo.
Prerequisiti
Prima di iniziare, assicurati di avere:
- Un server o una macchina virtuale con Ubuntu, Debian, RHEL, CentOS Stream, Rocky Linux, AlmaLinux o una distribuzione simile.
- Un utente non root con privilegi
sudo. - Accesso alla shell tramite SSH o un terminale locale.
Installazione su sistemi Debian/Ubuntu
Sui sistemi basati su Debian, Nginx è disponibile nei repository predefiniti. Aggiorna prima l'indice dei pacchetti in modo che apt veda i metadati correnti dei pacchetti.
Passo 1: Aggiornare le liste dei pacchetti
Esegui i seguenti comandi per aggiornare l'indice locale dei pacchetti:
sudo apt update
Passo 2: Installare Nginx
Usa il comando apt install per scaricare e installare Nginx e le sue dipendenze:
sudo apt install nginx
Passo 3: Verificare lo stato dell'installazione
Una volta completata l'installazione, il servizio viene solitamente avviato automaticamente. Puoi verificarne lo stato usando systemctl:
sudo systemctl status nginx
Dovresti vedere un output che indica che il servizio è active (running).
Installazione su sistemi CentOS/RHEL
Sui sistemi in stile RHEL, usa dnf sulle versioni correnti e yum su quelle più vecchie. Alcune distribuzioni includono Nginx nei propri repository; altre potrebbero aver bisogno di EPEL o di un repository ufficiale del fornitore. Se dnf install nginx non riesce a trovare il pacchetto, abilita EPEL o controlla le note di packaging di Nginx della tua distribuzione.
Passo 1: Installare il repository EPEL
Se il tuo sistema ha bisogno di EPEL, installalo prima.
Per CentOS/RHEL 7:
sudo yum install epel-release
Per CentOS/RHEL 8/9 (usando DNF):
sudo dnf install epel-release
Passo 2: Installare Nginx
Ora, installa Nginx usando yum o dnf:
# Usando yum (sistemi più vecchi)
sudo yum install nginx
# OPPURE usando dnf (sistemi più nuovi)
sudo dnf install nginx
Passo 3: Avviare e abilitare 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: Consentire HTTP e HTTPS
Dopo l'installazione, assicurati che il tuo firewall permetta il traffico web. Se il servizio è in esecuzione ma la porta 80 o 443 è bloccata, il controllo dal browser dall'esterno del server fallirà.
Usando UFW su Ubuntu/Debian
Il pacchetto Nginx di Ubuntu solitamente registra i profili applicativi UFW. Apri sia HTTP che HTTPS se prevedi di aggiungere TLS a breve.
# Elenca i profili applicativi disponibili
sudo ufw app list
# Consenti il traffico web standard (HTTP/HTTPS)
sudo ufw allow 'Nginx Full'
# Ricarica il firewall per applicare le modifiche
sudo ufw reload
Usando Firewalld su sistemi in stile RHEL
Firewalld usa le zone per gestire le regole. Questi comandi aggiungono i servizi standard http e https alla zona predefinita attiva.
# Consenti il traffico HTTP (porta 80)
sudo firewall-cmd --permanent --add-service=http
# Consenti il traffico HTTPS (porta 443)
sudo firewall-cmd --permanent --add-service=https
# Ricarica le regole del firewall
sudo firewall-cmd --reload
Verificare che Nginx funzioni
Con il pacchetto installato e il firewall aperto, conferma che Nginx stia servendo la pagina predefinita.
Metodo 1: Controllo dal browser web
Apri il tuo browser web preferito e vai all'indirizzo IP del tuo server o al nome di dominio:
http://INDIRIZZO_IP_DEL_TUO_SERVER
Se ha successo, dovresti vedere la pagina di benvenuto predefinita di Nginx. Il testo esatto e il percorso del file variano a seconda della distribuzione.
Metodo 2: Controllo dalla riga di comando
Usa curl dal server stesso per controllare il listener locale:
curl http://localhost
Questo comando dovrebbe restituire HTML. Se fallisce localmente, controlla systemctl status nginx e /var/log/nginx/error.log prima di risolvere i problemi del DNS o delle regole del firewall cloud.
Comandi essenziali di gestione di Nginx
Una volta installato, di solito gestirai Nginx con systemctl:
| Azione | Comando |
|---|---|
| Avviare il server | sudo systemctl start nginx |
| Fermare il server | sudo systemctl stop nginx |
| Riavviare (Ferma poi Avvia) | sudo systemctl restart nginx |
| Ricarica (Applica le modifiche alla configurazione senza tempi di inattività) | sudo systemctl reload nginx |
| Controllare lo stato | sudo systemctl status nginx |
| Disabilitare l'avvio automatico all'avvio | sudo systemctl disable nginx |
Testa la sintassi della configurazione prima di ogni ricarica:
sudo nginx -t
sudo systemctl reload nginx
Questa abitudine coglie punti e virgola mancanti, percorsi di inclusione errati e conflitti di listen duplicati prima che interrompano il traffico.
Passo successivo: Creare un blocco server
La configurazione predefinita serve una pagina di benvenuto fornita dal pacchetto. Su Debian/Ubuntu, i file web risiedono comunemente sotto /var/www/html. Sui sistemi in stile RHEL, la root predefinita è spesso /usr/share/nginx/html.
Il tuo prossimo passo è creare un blocco server per il tuo dominio. Le strutture di Debian/Ubuntu spesso usano /etc/nginx/sites-available/ con collegamenti simbolici in /etc/nginx/sites-enabled/. Le strutture in stile RHEL usano più spesso file sotto /etc/nginx/conf.d/.
Dopo di ciò, aggiungi TLS, punta il record DNS del tuo dominio al server ed esegui sudo nginx -t prima di ricaricare. A quel punto la tua installazione di Nginx è pronta per la configurazione reale del sito.