Questo articolo mostra come creare host virtuali NGINX® che servono più domini web.
Crea il layout per ogni dominio
Questo esempio crea due domini, domain1.com
e domain2.com
.
Poiché le autorizzazioni predefinite abilitano solo te, la demo
utente, per navigare nella tua cartella home, devi concedere a NGINX l'accesso anche a questa cartella eseguendo il comando seguente:
chmod 755 /home/demo
Ora puoi creare il layout di base per ogni dominio. Nella tua home
directory, crea un public_html
cartella eseguendo il comando seguente:
mkdir /home/demo/public_html
Per ogni dominio che desideri ospitare, crea una cartella con un insieme standard di sottocartelle, come mostrato nei seguenti esempi:
mkdir -p /home/demo/public_html/domain1.com/{public,private,,backup}
mkdir -p /home/demo/public_html/domain2.com/{public,private,log,backup}
Questi comandi creano le cartelle public
, private
, log
e backup
per ciascuno dei tuoi domains.log
Aggiungi contenuto pubblico per il sito Web su domain1.com
Questo esempio crea un file HTML molto semplice nella cartella pubblica che consente di verificare rapidamente che l'host virtuale funzioni.
Esegui il comando seguente per aggiungere contenuto per domain1.com
:
nano /home/demo/public_html/domain1.com/public/index.html
Inserisci nel file un codice simile al seguente esempio:
<html>
<head>
<title>domain1.com</title>
</head>
<body>
<h1>domain1.com</h1>
</body>
</html>
Ripeti la procedura in modo da avere un file di indice HTML simile per domain2.com
.
Nota :assicurati di modificare i contenuti in index.html file per mostrare domain2.com
e non domain1.com
.
Layout degli host virtuali
Questo articolo utilizza un layout in stile CentOS® (che utilizza un conf.d
directory per memorizzare i file di configurazione) durante la creazione degli host virtuali. Potresti avere questo layout anche se hai installato NGINX utilizzando il gestore pacchetti o dal sorgente.
Aggiungi i tuoi host virtuali al file virtuale
Modifica il file virtuale per aggiungere domain1.com
eseguendo il comando seguente:
sudo nano /etc/nginx/conf.d/virtual.conf
Nota :assicurati di regolare il percorso in base alla tua installazione.
Se stai installando dal sorgente, devi inserire il seguente percorso:
sudo nano /usr/local/nginx/conf/conf.d/virtual.conf
Aggiungi il seguente codice al file:
server {
listen 80;
server_name www.domain1.com;
rewrite ^/(.*) https://domain1.com/$1 permanent;
}
server {
listen 80;
server_name domain1.com;
access_log /home/demo/public_html/domain1.com/log/access.log;
error_log /home/demo/public_html/domain1.com/log/error.log;
location / {
root /home/demo/public_html/domain1.com/public/;
index index.html;
}
}
Il primo modulo server nel file è una semplice regola di riscrittura che reindirizza i visitatori a domain1.com
da www.domain1.com
.
Il secondo modulo server ha informazioni molto basilari, incluso il server_name
, che è il nome di dominio che desideri servire.
Quindi, il codice definisce le posizioni del registro in modo che tu possa trovarle facilmente. Infine, imposta la radice del server e il file di indice.
Ricarica NGINX
Per abilitare il tuo sito, ricarica NGINX eseguendo il comando seguente:
sudo /etc/init.d/nginx reload
Visualizza il tuo sito web
Accedi al tuo dominio incollando il seguente URL nella barra di navigazione del tuo browser web:
https://www.domain1.com
Dovresti vedere una semplice pagina web di prova che mostra le informazioni in index.html file.
Controlla i log
In un passaggio precedente, hai aggiunto del codice a virtual.conf file che ha configurato le posizioni dei registri. Esegui i seguenti comandi per verificare la presenza di log in quella posizione:
ls /home/demo/public_html/domain1.com/log/
...
access.log error.log
Ripeti per domini aggiuntivi
Ripeti la stessa procedura per il tuo prossimo host virtuale, domain2.com
.