GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare un sottodominio o ospitare più domini usando nginx nel server Linux

Lo sapevi che puoi ospitare più domini e sottodomini utilizzando un singolo indirizzo IP in Linux tramite blocchi server nginx (o host virtuali in Apache)?

Bene, se non sai come farlo, leggere questo tutorial ti imposterà due domini e un sottodominio che puntano entrambi allo stesso indirizzo IP e host sullo stesso server.
Ecco il presupposto generale per questa configurazione:

  • Indirizzo IP :220.168.32.101
  • Nomi di dominio :example.com, blog.example.com, fakenews.com

Prima di iniziare il tutorial, la prima cosa che devi fare è indirizzare tutti i tuoi domini e sottodomini al singolo indirizzo IP tramite il tuo provider DNS (modifica A , CNAME ).
Tuttavia, se vuoi testarlo localmente, modifica /etc/hosts file di configurazione e aggiungere quanto segue:

220.168.32.101 example.com blog.example.com
220.168.32.101 fakenews.com

E quando esegui il ping di questi domini localmente sul server, riceverai una risposta ok (200).

Ora seguiremo i passaggi per configurare questi nomi di dominio:

1. Installa e avvia nginx

Usa il comando seguente per installare nginx su Ubuntu

$ sudo apt install nginx
# now start it
$ sudo nginx

2. Metti alla prova nginx

Controlla qualsiasi dominio o indirizzo IP nel tuo browser per assicurarti che nginx funzioni correttamente. Il browser genererà una pagina nginx predefinita.

3. Imposta le directory di prova per ogni dominio

Finora, tutti i domini sono stati impostati correttamente ma c'è un grosso problema, che punta tutti alla stessa pagina. Abbiamo bisogno di separare questi domini per puntare alle loro pagine. Per questo, imposterò directory di test e pagine html.

  • Creazione di directory per ogni dominio e sottodominio
$ cd /var/www
$ sudo mkdir example.com blog.example.com fakenews.com
  • Creazione di semplici pagine html per ciascuno
$ sudo touch example.com/index.html
$ sudo touch blog.example.com/index.html
$ sudo touch fakenews.com/index.html
  • Infine, inserisci dei contenuti diversi in ogni index.html file

4. Creazione di blocchi server per ogni dominio e sottodominio

Nginx fornisce predefinito blocco del server in /etc/nginx/sites-available . Copieremo quel blocco server per ogni dominio e apporteremo modifiche per ciascuno.
Inoltre creeremo un collegamento simbolico del nuovo file

## For example.com domain
$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com
$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
## similarly do for others also.

Dopo la modifica, il nuovo file avrà questo aspetto per example.com dominio

server {
        listen 80 default_server;
        listen [::]:80 default_server;
        root /var/www/example.com;
        index index.html;
        server_name example.com;
}

Qui server_predefinito significa che se nessuno degli altri domini si risolve, l'ultima risorsa è risolvere questo blocco del server.

NOTA:c'è un solo blocco server predefinito in nginx con la stessa porta.

Allo stesso modo per altri due domini la configurazione è:

## For blog.example.com subdomain
server {
        listen 80;
        listen [::]:80;
        root /var/www/blog.example.com;
        index index.html;
        server_name blog.example.com;
}

## For fakenews.com domain
server {
        listen 80;
        listen [::]:80;
        root /var/www/fakenews.com;
        index index.html;
        server_name fakenews.com;
}

Bonus: Supponiamo fakenews.com dominio in ascolto su una porta diversa (diciamo 2368 porto ) e vuoi trasferire la porta in nginx su 80 predefinita porta, quindi puoi utilizzare posizione blocco all'interno del server blocca in questo modo:

server {
   ## other configuration as above
    # ...
  location {
     proxy_pass http://127.0.0.1:2368;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header HOST $http_host;
  }
}

Per ora è tutto, per qualsiasi domanda dillo nei commenti qui sotto.


Linux
  1. Come installare Nginx Web Server su Linux

  2. Come creare un host virtuale Nginx (blocco server)

  3. Come configurare il server di registrazione centralizzato utilizzando Rsyslog

  4. Come configurare SSH senza password su Linux

  5. Servi più domini utilizzando host virtuali

Come installare Nginx Web Server su Alpine Linux

Come installare Nginx su un server cloud Arch Linux

Ospita più siti Web su un unico server con Apache su Ubuntu 18.04

Come configurare la cache Nginx su un server LAMP

Come configurare la cache Nginx sul server LEMP

Come configurare il server e il client VPN Linux utilizzando OpenVPN