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.

35 visualizzazioni

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 sudo configurato 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. Usa sudo nginx -t per verificare la presenza di errori. Se il test ha successo, usa sudo systemctl reload nginx per 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.