Principiante 12 minuti

Distribuire un sito con Nginx

Installare Nginx, configurare un vhost e caricare l'applicazione o il sito statico.

#Nginx#Web#Distribuzione

Pronto per iniziare il tuo servizio? Controlla le offerte e ordina online.

Visualizza offerte e ordine

Panoramica

Nginx è un potente server web, ideale per ospitare siti statici, applicazioni PHP-FPM, proxy inverso o API. Questa guida installa Nginx su Debian/Ubuntu e configura un sito demo.

Installazione

apt update apt install nginx -y systemctl enable nginx systemctl start nginx

Assicurati che Nginx risponda: Apri http://ADRESSE_IP nel tuo browser. La pagina predefinita "Welcome to nginx" deve essere visualizzata.

Firewall Se UFW è attivo, consentire HTTP/HTTPS: ufw allow 'Nginx Full'. Vedi la guida Configurare un firewall UFW.

Struttura del file

  • /var/www/, radice dei siti web
  • /etc/nginx/sites-available/, configurazioni disponibili
  • /etc/nginx/sites-enabled/, siti attivati (link simbolici)
  • /var/log/nginx/, log di accesso e di errore

Creare un sito statico

  1. Crea directory del sito
    mkdir -p /var/www/monsite.fr/html chown -R www-data:www-data /var/www/monsite.fr
  2. Aggiungi Home Page
    echo '<!DOCTYPE html><html><head><title>Mon site</title></head> <body><h1>Bienvenue sur monsite.fr</h1></body></html>' \ > /var/www/monsite.fr/html/index.html
  3. Creare l'host virtuale

    Creare /etc/nginx/sites-available/monsite.fr :

server { listen 80; listen [::]:80; server_name monsite.fr www.monsite.fr; root /var/www/monsite.fr/html; index index.html index.htm; location / { try_files $uri $uri/ =404; } access_log /var/log/nginx/monsite.fr.access.log; error_log /var/log/nginx/monsite.fr.error.log; }
  1. Attivare il sito
    ln -s /etc/nginx/sites-available/monsite.fr /etc/nginx/sites-enabled/ nginx -t systemctl reload nginx

    nginx -t convalidare la sintassi prima di ricaricare. Non ricaricare mai se il test fallisce.

Indica il tuo nome di dominio

Nel registro di sistema, crea un record A indicando l'IPv4 del tuo VPS. Propagazione DNS: pochi minuti a 24 ore. Prova con:

dig +short monsite.fr

Attivare HTTPS con Let's Encrypt

Installare Certbot:

apt install certbot python3-certbot-nginx -y certbot --nginx -d monsite.fr -d www.monsite.fr

Seguire la procedura guidata (e-mail, condizioni, HTTP redirect → HTTPS consigliato). Il certificato viene automaticamente rinnovato tramite un timer sistemato.

Test di rinnovo:

certbot renew --dry-run

Hosting di un'applicazione PHP (opzionale)

apt install php-fpm -y

Aggiungi nel tuo blocco server :

location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.2-fpm.sock; }

Adapt PHP (php8.1-fpm, php8.2-fpm...) secondo ls /run/php/.

Risoluzione dei problemi

  • 502 Bad Gateway, PHP-FPM si è fermato o cattivo socket in configurazione.
  • 403 Proibita, Diritti non corretti /var/www/ o indice mancante.
  • Sito predefinito visualizzato, Check server_name e il collegamento in sites-enabled.

Controllare i registri: tail -f /var/log/nginx/error.log

Prossimo passo