GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare i blocchi del server Nginx su Ubuntu 18.04/20.04

In Nginx, blocchi server vengono utilizzati per definire informazioni di dominio specifiche. Aiuta a ospitare più domini o siti web. Ogni blocco contiene informazioni di dominio specifiche come root del documento, SSL, porta e altro. I blocchi del server Nginx sono simili agli host virtuali Apache.

In questo tutorial impariamo come configurare i blocchi del server Nginx su Ubuntu 18.04/20.04 .

Prerequisiti

Richiede un'istanza Ubuntu 18.04/20.04. L'istanza dovrebbe avere Nginx installato. Richiedi un utente con accesso sudo.

Passaggio 1. 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. Possiamo impostare la radice del documento in qualsiasi posizione desideriamo, ma in questo articolo utilizzeremo la seguente struttura di directory:

/var/www/
├── domain1.com
│   └── images
│   └── index.html
│   └── style.css
├── domain2.net
│   └── images
│   └── index.html
│   └── style.css

Fondamentalmente, creeremo una directory separata per ogni dominio che vogliamo ospitare sul nostro server all'interno del /var/www directory.

Creiamo la directory principale per i nostri domini:

$ sudo mkdir -p /var/www/domain1.com

A scopo di test, creeremo una directory index.html, style.css e images all'interno della directory principale dei documenti del dominio.

$ cd /var/www/domain1.com/
/var/www/domain1.com$ sudo mkdir images index.html style.css

Apri il nostro editor e crea il file demo:

/var/www/domain1.com/index.html
<!DOCTYPE html> <html lang="en" dir="ltr">

<head> <meta charset="utf-8">

<title>Welcome to domain1.com</title> <link rel="stylesheet" href="style.css"/>

</head>

<body> <h1 style="color:green;text-align:center;">Success! domain1.com home page!</h1>

</body>

</html>

Qui stiamo eseguendo i comandi come sudo user e i file e le directory appena creati sono di proprietà della root utente.

Per evitare problemi di autorizzazione, possiamo modificare la proprietà della directory principale del documento di dominio nell'utente Nginx (www-data) :

$ sudo chown -R www-data: /var/www/domain1.com

faremo le stesse procedure per domain2.net

Passaggio 2. Crea file di blocco del server Nginx per ogni dominio

Ora che abbiamo il contenuto che desideriamo servire, dobbiamo creare effettivamente i blocchi del server che diranno a Nginx come farlo.

Per impostazione predefinita, Nginx contiene un blocco server chiamato dfault che possiamo usare come modello per le nostre configurazioni. Inizieremo progettando il blocco server del nostro primo dominio, che copieremo quindi per il nostro secondo dominio e apporteremo le modifiche necessarie.

1) Crea il primo file di blocco del server Nginx

Come accennato in precedenza, creeremo il nostro primo file di configurazione del blocco del server copiando il file predefinito:

$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/domain1.com

Ora apri il nuovo file che hai creato nel tuo editor di testo con i privilegi sudo:

$ sudo nano /etc/nginx/sites-available/domain1.com

Dopo aver modificato il file, apparirà simile a questo:

/etc/nginx/sites-available/domain1.com
server { 

listen 80; 

listen [::]:80; 

root /var/www/domain1.com; 

index index.html index.htm index.nginx-debian.html; 

server_name domain1.com www.domain1.com; 

location / 

    { try_files $uri $uri/ =404; 

  } 
}

Questo è tutto ciò di cui abbiamo bisogno per una configurazione di base. Salva e chiudi il file per uscire da Ctrl + x .

2) Crea il secondo file di blocco del server Nginx

Ora che abbiamo la nostra prima configurazione del blocco del server Nginx, possiamo usarla come base per il nostro secondo file. Copialo per creare un nuovo file:

$ sudo cp /etc/nginx/sites-available/domain1.com /etc/nginx/sites-available/domain2.net

Apri il nuovo file con sudo privilegi nel tuo editor:

$ sudo nano /etc/nginx/sites-available/domain2.net

Regola la direttiva root in modo che punti al documento del nostro secondo dominio root e regola il server_name in modo che corrisponda al nome di dominio del tuo secondo sito (assicurati di includere eventuali alias).

Al termine, il nostro file sarà probabilmente simile a questo:

/etc/nginx/sites-available/domain2.net
server { 

listen 80; 

listen [::]:80; 

root /var/www/domain2.net; 

index index.html index.htm index.nginx-debian.html; 

server_name domain2.net www.domain2.net; 

location / 

{ try_files $uri $uri/ =404; 

  } 
}

Salva e chiudi il file per uscire da Ctrl + x .

Passaggio 3. Abilita i nostri blocchi server Nginx e riavvia Nginx

Ora che abbiamo i nostri file di blocco del server, dobbiamo abilitarli. Possiamo farlo creando collegamenti simbolici da questi file a sites-enabled directory, da cui Nginx legge durante l'avvio.

Possiamo creare questi collegamenti digitando:

$ sudo ln -s /etc/nginx/sites-available/domain1.com /etc/nginx/sites-enabled/
$ sudo ln -s /etc/nginx/sites-available/domain2.net /etc/nginx/sites-enabled/

Questi file sono ora nella directory abilitata, ora abbiamo tre blocchi server abilitati:

1. domain1.com:risponderà alle richieste di domain1.com e www.domain1.com
2. domain2.net:risponderà alle richieste di domain2.net e www.domain2.net
3. default:risponderà a tutte le richieste sulla porta 80 che non corrispondono agli altri due blocchi.

Per evitare un possibile problema di memoria del bucket di hash che può derivare dall'aggiunta di nomi di server aggiuntivi, andremo avanti e regoleremo un singolo valore all'interno del nostro file /etc/nginx/nginx.conf. Apri il file ora:

$ sudo nano /etc/nginx/nginx.conf

All'interno del file, trova il server_names_hash_bucket_size direttiva. Rimuovi il # simbolo per decommentare la riga:

/etc/nginx/nginx.conf
http { . . . server_names_hash_bucket_size 64; . . . }

Salva e chiudi il file quando hai finito.

Quindi, verifica che non ci siano errori di sintassi in nessuno dei nostri file Nginx:

$ sudo nginx -t

Se non sono stati rilevati problemi, riavvia Nginx per abilitare le nostre modifiche:

$ sudo systemctl restart nginx

Nginx ora dovrebbe servire entrambi i nostri nomi di dominio.

Fase 4. Verifica accedendo al sito web

Ora che siamo tutti impostati, dovremmo verificare che i nostri blocchi server funzionino correttamente. Possiamo farlo visitando i domini nel nostro browser web:

http://domain1.com

Dovresti vedere una pagina simile a questa:

Se visiti il ​​tuo secondo nome di dominio, dovresti vedere un sito leggermente diverso:

http://domain2.net

Conclusione

In questo tutorial, abbiamo imparato come configurare il blocco del server Nginx su Ubuntu 18.04/20.04. Utilizzando i blocchi del server Nginx abbiamo impostato due domini per servire le richieste web.


Ubuntu
  1. Come configurare i blocchi del server Nginx su Ubuntu 18.04

  2. Come installare Nginx su Ubuntu 20.04

  3. Come configurare i blocchi del server Nginx su Ubuntu 20.04

  4. Come configurare HAProxy su Debian 9 / Ubuntu 16.04 Server

  5. Come installare e configurare Nginx su Ubuntu 18.04 / Debian 9

Come installare MongoDB in Ubuntu 22.04/20.04

Come installare PHP 8 su Ubuntu 22.04/20.04

Come riavviare o ricaricare NGINX sul server Ubuntu 20.04

Come installare e configurare Nginx in Ubuntu 20.04 e Ubuntu 21.04

Come installare Nginx su Ubuntu

Come installare Nginx su Ubuntu 18.04 LTS