Setzt Nginx Server Blocks (Virtual Hosts) op CentOS/RHEL 8


En Nginx Serverblock ass den Äquivalent vun engem Apache virtuelle Host a mécht et méiglech fir Iech méi wéi eng Domain oder Websäit op Ärem Server ze hosten.

An dësem Artikel léiert Dir wéi Dir en Nginx Server Blocks (virtuell Hosten) op CentOS 8 a RHEL 8 Linux opstellt.

  • En A Rekord fir Ären Domain. An einfache Begrëffer, en A records bezitt sech op en DNS-Entrée wou den Domain Numm op d'Ëffentlech IP vum Server weist, an dësem Fall den Nginx Webserver. Während dësem Guide benotze mir den Domain Numm crazytechgeek.info.
  • En LEMP Stack installéiert op CentOS 8 oder RHEL 8 Instanz.
  • E Login Benotzer mat Sudo Privilegien.

Loosst eis ufänken!

Schrëtt 1: Erstellt en Nginx Document Root Directory

Direkt vun der Fliedermaus, musst Dir e personaliséierte Webroot-Verzeichnis erstellen fir d'Domain déi Dir wëllt hosten. Fir eise Fall wäerte mir den Verzeechnes erstellen wéi se mat der mkdir -p Optioun benotzt fir all déi néideg Elterenverzeichnisser ze kreéieren:

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

Gitt duerno d'Verzeichnis Permissiounen mat der $USER Ëmfeldvariabel zou. Wéi Dir dat maacht, gitt sécher datt Dir als normale Benotzer ageloggt sidd an net als Root Benotzer.

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

Als nächst gitt déi richteg Verzeichnis Permissiounen rekursiv wéi gewisen:

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

Schrëtt 2: Erstellt eng Sample Säit fir den Domain

Als nächst wäerte mir eng index.html Datei am personaliséierte Webroot-Verzeichnis erstellen, deen vum Domain zerwéiert gëtt wann eng Ufro gemaach gëtt.

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

Bannen an der Datei, paste de folgende Probeinhalt.

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

Späichert a gitt d'Konfiguratiounsdatei aus.

Schrëtt 3: Erstellt en Nginx Server Block an CentOS

Fir den Nginx Webserver den Inhalt an der index.html Datei ze déngen, déi mir am Schrëtt 2 erstallt hunn, musse mir eng Serverblockdatei mat de passenden Direktiven erstellen. Dofir erstellen mir en neie Serverblock op:

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

Als nächst, paste d'Konfiguratioun déi hei drënner erscheint.

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;

}

Wann Dir fäerdeg sidd, späichert d'Ännerungen a gitt d'Konfiguratiounsdatei aus. Fir ze bestätegen datt all Nginx Konfiguratiounen kléng a fehlerfräi sinn, fuert de Kommando aus:

$ sudo nginx -t

D'Ausgab hei drënner soll eng Bestätegung sinn datt Dir gutt sidd fir ze goen!

Endlech, restart Ären Nginx Webserver a bestätegt datt et leeft wéi erwaart:

$ sudo systemctl restart nginx
$ sudo systemctl status nginx

Schrëtt 4: Den Nginx Server Block an CentOS testen

Mir sinn all fäerdeg mat de Konfiguratiounen. Deen eenzegen Deel bleift ass fir ze bestätegen ob eise Serverblock Inhalt am Webroot-Verzeichnis servéiert deen virdru an der index.html Datei definéiert ass.

Fir dëst ze maachen, öffnen einfach Äre Browser a gitt op d'Domain vun Ärem Server wéi gewisen:

http://domain-name

Wéi observéiert gëtt eisen Inhalt vum Serverblock zerwéiert, eng kloer Indikatioun datt alles gutt gaang ass.

Schrëtt 5: Aktivéiert HTTPS op Domain Hosted on Nginx

Dir kënnt iwwerleeë fir Äert Domain ze verschlësselen mat Lets Encrypt SSL fir eng Schicht vu Schutz a séchere Traffic op a vum Webserver ze addéieren.

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

Fir ze bestätegen datt Ären Domain korrekt op HTTPS konfiguréiert ass, besicht https://yourwebsite.com/ an Ärem Browser a kuckt no der Sperrikon an der URL Bar.

Mir hunn erfollegräich e Nginx Serverblock op CentOS 8 an RHEL 8 opgeriicht. Dir kënnt datselwecht fir verschidde Domainen widderhuelen andeems Dir déiselwecht Prozedur benotzt.