
Nginx Server Blocks ti consente di eseguire più di un sito Web su una singola macchina. Con Server Blocks, puoi specificare la radice del documento del sito (la directory che contiene i file del sito Web), creare una politica di sicurezza separata per ogni sito, utilizzare certificati SSL diversi per ogni sito e molto altro.
In questo tutorial, ti mostreremo come configurare i blocchi del server Nginx su Debian 9.
Prerequisiti #
Assicurati di aver soddisfatto i seguenti prerequisiti prima di continuare con questo tutorial:
- Nome di dominio che punta all'IP del tuo server pubblico. Useremo
example.com
. - Nginx installato.
- Sei loggato come root o utente con privilegi sudo.
Server Blocks
denominato Virtual host
.Un host virtuale è un termine Apache. Crea la struttura della directory #
La radice del documento è la directory in cui i file del sito Web per un nome di dominio sono archiviati e serviti in risposta alle richieste. La radice del documento può essere qualsiasi directory sul tuo server Debian.
Utilizzeremo la seguente struttura di directory:
/var/www/
├── domain1.com
│ └── public_html
├── domain2.com
│ └── public_html
├── domain3.com
│ └── public_html
Creeremo una directory separata per ogni dominio che sarà ospitato sul server all'interno di /var/www
directory. All'interno di ciascuna di queste directory, creeremo un public_html
directory che memorizzerà i file del sito Web del dominio.
Inizia creando la directory principale per il dominio example.com
:
sudo mkdir -p /var/www/example.com/public_html
Quindi, crea un index.html
file all'interno della directory principale del documento del dominio.
sudo nano /var/www/example.com/public_html/index.html
Apri il file e incolla le seguenti righe:
/var/www/example.com/public_html/index.html<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Welcome to example.com</title>
</head>
<body>
<h1>Success! example.com home page!</h1>
</body>
</html>
Per evitare problemi di autorizzazione, cambia la proprietà della directory principale del documento di dominio nell'utente Nginx (www-data
):
sudo chown -R www-data: /var/www/example.com
Crea un blocco server #
Per impostazione predefinita sui sistemi Debian, i file di configurazione dei blocchi del server Nginx sono archiviati in /etc/nginx/sites-available
directory, che sono abilitate tramite collegamenti simbolici al /etc/nginx/sites-enabled/
directory.
Apri il tuo editor preferito e crea il seguente file di blocco del server:
sudo nano /etc/nginx/sites-available/example.com.conf
/etc/nginx/sites-available/example.com.confserver {
listen 80;
listen [::]:80;
root /var/www/example.com/public_html;
index index.html;
server_name example.com www.example.com;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location / {
try_files $uri $uri/ =404;
}
}
Puoi nominare il file di configurazione come preferisci, ma di solito è meglio usare il nome di dominio.
Abilita il nuovo file di blocco del server creando un collegamento simbolico dal file a sites-enabled
directory:
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
Testare la configurazione di Nginx per la sintassi corretta:
sudo nginx -t
Se non ci sono errori, l'output sarà simile a questo:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Riavvia il servizio Nginx per rendere effettive le modifiche:
sudo systemctl restart nginx
Infine, per verificare che il blocco del server funzioni come previsto, apri http://example.com
nel tuo browser preferito e vedrai qualcosa di simile a questo:
