Ricerca nel sito web

Configura i blocchi server Nginx (host virtuali) su CentOS/RHEL 8


Un blocco server Nginx è l'equivalente di un host virtuale Apache e ti consente di ospitare più di un dominio o sito web sul tuo server.

In questo articolo imparerai come configurare i blocchi server Nginx (host virtuali) su CentOS 8 e RHEL 8 Linux.

Prerequisiti:

  • Un record A per il tuo dominio. In termini semplici, un record A si riferisce a una voce DNS in cui il nome di dominio punta all'IP pubblico del server, in questo caso il server web Nginx. In questa guida utilizzeremo il nome di dominio crazytechgeek.info.
  • Un server Nginx o uno stack LEMP installato su un'istanza CentOS 8 o RHEL 8.
  • Un utente che effettua l'accesso con privilegi Sudo.

Iniziamo!

Passaggio 1: crea una directory radice dei documenti Nginx

Immediatamente, devi creare una directory root web personalizzata per il dominio che desideri ospitare. Nel nostro caso, creeremo la directory come mostrato utilizzando l'opzione mkdir -p per creare tutte le directory principali necessarie:

sudo mkdir -p /var/www/crazytechgeek.info/html

Successivamente assegna i permessi alla directory utilizzando la variabile d'ambiente $USER. Mentre lo fai, assicurati di aver effettuato l'accesso come utente normale e non come utente root.

sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

Successivamente, assegna le autorizzazioni di directory corrette in modo ricorsivo come mostrato:

sudo chmod -R 755 /var/www/crazytechgeek.info/html

Passaggio 2: crea una pagina di esempio per il dominio

Successivamente, creeremo un file index.html all'interno della directory root web personalizzata che verrà servita dal dominio una volta effettuata la richiesta.

sudo vim /var/www/crazytechgeek.info/html/index.html

All'interno del file, incolla il seguente contenuto di esempio.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
  <h1>Awesome! Your Nginx server block is working!</h1>
    </body>
</html>

Salvare ed uscire dal file di configurazione.

Passaggio 3: crea un blocco server Nginx in CentOS

Affinché il server web Nginx possa servire il contenuto nel file index.html che abbiamo creato nel passaggio 2, dobbiamo creare un file di blocco del server con le direttive appropriate. Pertanto, creeremo un nuovo blocco server in:

sudo vim /etc/nginx/conf.d/crazytechgeek.info.conf

Successivamente, incolla la configurazione che appare di seguito.

server {
        listen 80;
        listen [::]:80;

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info www.crazytechgeek.info;

        location / {
                try_files $uri $uri/ =404;
        }

		
    access_log /var/log/nginx/crazytechgeek.info.access.log;
    error_log /var/log/nginx/crazytechgeek.info.error.log;

}

Al termine, salva le modifiche e chiudi il file di configurazione. Per confermare che tutte le configurazioni di Nginx siano corrette e prive di errori, esegui il comando:

sudo nginx -t

L'output di seguito dovrebbe essere una conferma che sei a posto!

Infine, riavvia il tuo server web Nginx e conferma che funziona come previsto:

sudo systemctl restart nginx
sudo systemctl status nginx

Passaggio 4: testare il blocco server Nginx in CentOS

Abbiamo finito con le configurazioni. L'unica parte rimanente è confermare se il nostro blocco server sta servendo contenuto nella directory radice web definita in precedenza nel file index.html.

Per fare ciò, apri semplicemente il browser e vai al dominio del tuo server come mostrato:

http://domain-name

Come osservato, il nostro contenuto viene servito dal blocco del server, una chiara indicazione che tutto è andato bene.

Passaggio 5: abilita HTTPS sul dominio ospitato su Nginx

Potresti prendere in considerazione la crittografia del tuo dominio utilizzando Lets Encrypt SSL per aggiungere un livello di protezione e proteggere il traffico da e verso il server web.

sudo dnf install certbot python3-certbot-nginx
sudo certbot --nginx

Per verificare che il tuo dominio sia configurato correttamente su HTTPS, visita https://yourwebsite.com/ nel tuo browser e cerca l'icona del lucchetto nella barra degli URL.

Conclusione

Abbiamo configurato con successo un blocco del server Nginx su CentOS 8 e RHEL 8. Puoi ripetere la stessa operazione per più domini utilizzando la stessa procedura.