Wéi Setzt Nginx Server Blocks (Virtual Hosts) op Ubuntu 20.04


Heiansdo musst Dir vläicht méi wéi een Domain oder Websäit op Ärem Nginx Webserver hosten. Fir dat ze geschéien, muss e Server Block (Virtual Hosts) konfiguréiert ginn fir all Är Domain Konfiguratioun ze kapsuléieren. Nginx Serverblocken sinn synonym mat Apache virtuelle Hostdateien an déngen deeselwechten Zweck.

Dëst Thema weist wéi Dir en Nginx Serverblock op Ubuntu 20.04 opstellt.

  • En A Rekord definéiert op Ärem Domain Numm Hosting Provider. En A-Rekord ass en DNS-Rekord deen den Domainnumm op d'Ëffentlech Server IP Adress weist. Fir dëse Guide benotze mir den Domain Numm crazytechgeek.info fir Illustratiounszwecker.
  • En LEMP Stack installéiert op Ubuntu 20.04 LTS Instanz.
  • E Login Benotzer mat Sudo Privilegien.

Mat all den Ufuerderungen erfëllt, loosst eis entdecken wéi Dir en Nginx Serverblock an Ubuntu opstellt.

Schrëtt 1: Erstellt en Nginx Document Root Directory

Fir unzefänken, wäerte mir e separaten Verzeechnes fir eis Domain erstellen, deen all d'Astellungen am Zesummenhang mat der Domain enthält.

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

Als nächst gitt d'Besëtzer vum Verzeechnes mat der $USER Ëmfeldvariabel zou. Dëst gëtt de Besëtzer vum Verzeechnes un de momentan ageloggte Benotzer zou. Vergewëssert Iech datt Dir mat engem normale Benotzerkont ageloggt sidd an net als Root.

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

Als nächst gitt déi entspriechend Permissiounen un de Verzeichnis, gitt dem ageloggte Benotzer all d'Rechter (liesen, schreiwen an ausféieren) an de Grupp an aner Benotzer liesen an ausféieren nëmmen Permissiounen.

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

Mat den Verzeechnes Permissiounen a Besëtzer korrekt konfiguréiert, musse mir eng Probe Websäit fir d'Domain erstellen.

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

An dësem Schrëtt wäerte mir eng index.html Datei fir Testzwecker erstellen. Dës Datei servéiert Inhalt deen am Webbrowser ugewise gëtt wann d'Domain am Browser opgeruff gëtt.

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

Paste de folgenden HTML Inhalt.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
  <h1>Bravo! Your server block is working as expected!</h1>
    </body>
</html>

Späichert a gitt d'Konfiguratiounsdatei aus.

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

Nginx Serverblocken sinn am /etc/nginx/sites-available Verzeichnis. De Standard Nginx Server Block ass /etc/nginx/sites-available/default déi d'Standard HTML Datei op /var/www/html/index.nginx-debian.html servéiert.

Fir eise Fall musse mir e Serverblock erstellen deen den Inhalt an der index.html Datei servéiert déi mir virdru erstallt hunn.

Also, erstellt d'Serverblockdatei gewisen.

$ sudo vim /etc/nginx/sites-available/crazytechgeek.info

Paste den Inhalt hei ënnen:

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;

}

Späichert a gitt d'Datei aus.

Schrëtt 4: Aktivéiert Nginx Server Block an Ubuntu

Fir den Nginx-Serverblock z'aktivéieren, musst Dir en an den /etc/nginx/sites-enabled/ Verzeichnis symlink wéi gewisen.

$ sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/

Zu dësem Zäitpunkt si mir zimlech fäerdeg. Wéi och ëmmer, et ass virsiichteg ze bestätegen datt all d'Konfiguratiounen an der Rei sinn. Fir dat ze maachen, fuert de Kommando aus:

$ sudo nginx -t

Wann Dir eis Schrëtt richteg gefollegt hutt, sollt Dir d'Output gewisen kréien:

Endlech, restart Nginx fir d'Ännerungen, déi an de Konfiguratiounsdateien gemaach goufen, a Kraaft trieden.

$ sudo systemctl restart Nginx

Da bestätegt ob Nginx leeft andeems Dir de Kommando ausféiert:

$ sudo systemctl status Nginx

Schrëtt 5: Den Nginx Server Block an Ubuntu testen

Fir ze bestätegen ob de Serverblock funktionnéiert wéi erwaart an den Inhalt am /var/www/crazytechgeek.info Verzeechnes servéiert, öffnen Äre Webbrowser an duerch den Domain Numm vun Ärem Server:

http://domain-name

Dir sollt Inhalt an der HTML Datei an Ärem Serverblock kréien wéi gewisen.

An dësem Guide hu mir Iech gewisen wéi Dir en Nginx Serverblock mat engem eenzegen Domain op Ubuntu Linux opstellt. Dir kënnt déiselwecht Schrëtt fir verschidden Domainen widderhuelen an ëmmer nach déiselwecht Resultater erreechen. Mir hoffen, datt de Guide Asiicht war.