Distribuire un sito con Nginx
Installare Nginx, configurare un vhost e caricare l'applicazione o il sito statico.
Pronto per iniziare il tuo servizio? Controlla le offerte e ordina online.
Visualizza offerte e ordinePanoramica
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 nginxAssicurati che Nginx risponda: Apri http://ADRESSE_IP nel tuo browser. La pagina predefinita "Welcome to nginx" deve essere visualizzata.
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
-
Crea directory del sito
mkdir -p /var/www/monsite.fr/html chown -R www-data:www-data /var/www/monsite.fr -
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 -
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;
}-
Attivare il sito
ln -s /etc/nginx/sites-available/monsite.fr /etc/nginx/sites-enabled/ nginx -t systemctl reload nginxnginx -tconvalidare 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.frAttivare HTTPS con Let's Encrypt
Installare Certbot:
apt install certbot python3-certbot-nginx -y
certbot --nginx -d monsite.fr -d www.monsite.frSeguire 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-runHosting di un'applicazione PHP (opzionale)
apt install php-fpm -yAggiungi 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_namee il collegamento insites-enabled.
Controllare i registri: tail -f /var/log/nginx/error.log
Prossimo passo
- Montare IP aggiuntivo per un secondo sito isolato
- Utilizzare il pannello di gestione