Sett opp Nginx-serverblokker (virtuelle verter) på CentOS/RHEL 8


En Nginx-serverblokk tilsvarer en virtuell Apache-vert og gjør det mulig for deg å være vert for mer enn ett domene eller nettstedet på serveren din.

I denne artikkelen vil du lære hvordan du setter opp en Nginx-serverblokker (virtuelle verter) på CentOS 8 og RHEL 8 Linux.

Forutsetninger:

  • En A-post for domenet ditt. Enkelt sagt refererer en A-post til en DNS-oppføring der domenenavnet peker på den offentlige IP-en til serveren, i dette tilfellet Nginx-nettserveren. Gjennom denne veiledningen vil vi bruke domenenavnet crazytechgeek.info.
  • En Nginx Server eller LEMP Stack installert på CentOS 8 eller RHEL 8 forekomst.
  • En påloggingsbruker med Sudo-privilegier.

La oss komme i gang!

Trinn 1: Opprett en Nginx-dokumentrotkatalog

Med en gang må du opprette en egendefinert webrotkatalog for domenet du vil være vert for. For vårt tilfelle vil vi opprette katalogen som vist ved å bruke mkdir -p-alternativet for å lage alle nødvendige overordnede kataloger:

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

Deretter tilordner katalogtillatelsene ved hjelp av miljøvariabelen $USER. Når du gjør det, sørg for at du er logget på som en vanlig bruker og ikke som root-bruker.

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

Deretter tildeler du de riktige katalogtillatelsene rekursivt som vist:

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

Trinn 2: Opprett en prøveside for domenet

Deretter skal vi lage en index.html-fil i den tilpassede webrotkatalogen som vil bli servert av domenet når en forespørsel er gjort.

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

Inne i filen limer du inn følgende eksempelinnhold.

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

Lagre og avslutt konfigurasjonsfilen.

Trinn 3: Opprett en Nginx-serverblokk i CentOS

For at Nginx-nettserveren skal vise innholdet i index.html-filen vi opprettet i trinn 2, må vi opprette en serverblokkfil med de riktige direktivene. Derfor skal vi opprette en ny serverblokk på:

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

Deretter limer du inn konfigurasjonen som vises nedenfor.

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;

}

Når du er ferdig, lagre endringene og avslutt konfigurasjonsfilen. For å bekrefte at alle Nginx-konfigurasjoner er gode og feilfrie, kjør kommandoen:

sudo nginx -t

Utdataene nedenfor skal være en bekreftelse på at du er klar!

Til slutt, start Nginx-webserveren på nytt og bekreft at den kjører som forventet:

sudo systemctl restart nginx
sudo systemctl status nginx

Trinn 4: Testing av Nginx Server Block i CentOS

Vi er alle ferdige med konfigurasjonene. Den eneste delen som gjenstår er å bekrefte om serverblokken vår leverer innhold i webrotkatalogen definert tidligere i index.html-filen.

For å gjøre dette, åpne nettleseren din og gå til serverens domene som vist:

http://domain-name

Som observert blir innholdet vårt servert av serverblokken, en klar indikasjon på at alt gikk bra.

Trinn 5: Aktiver HTTPS på domene vert på Nginx

Du kan vurdere å kryptere domenet ditt ved å bruke Lets Encrypt SSL for å legge til et lag med beskyttelse og sikker trafikk til og fra webserveren.

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

For å bekrefte at domenet ditt er riktig konfigurert på HTTPS, besøk https://yourwebsite.com/ i nettleseren og se etter låsikonet i URL-linjen.

Konklusjon

Vi har satt opp en Nginx-serverblokk på CentOS 8 og RHEL 8. Du kan gjenta det samme for flere domener ved å bruke samme prosedyre.