Sådan oprettes Nginx-serverblokke (virtuelle værter) på Ubuntu 20.04


Til tider skal du muligvis være vært for mere end et domæne eller websted på din Nginx-webserver. For at dette kan ske, skal en serverblok (virtuelle værter) konfigureres til at indkapsle hele dit domænes konfiguration. Nginx-serverblokke er synonyme med Apache virtuelle værtsfiler og tjener det samme formål.

Dette emne viser, hvordan du opretter en Nginx-serverblok på Ubuntu 20.04.

  • En En -post defineret på din udbyder af domænenavnhosting. En En -post er en DNS-post, der peger domænenavnet til den offentlige server IP-adresse. Til denne vejledning bruger vi domænenavnet crazytechgeek.info til illustration.
  • En Nginx-server eller LEMP-stak installeret på Ubuntu 20.04 LTS-instans.
  • En loginbruger med Sudo-rettigheder.

Med alle kravene opfyldt, lad os undersøge, hvordan du kan oprette en Nginx-serverblok i Ubuntu.

Trin 1: Opret en Nginx Document Root Directory

For at komme i gang opretter vi en separat mappe til vores domæne, der indeholder alle indstillingerne relateret til domænet.

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

Dernæst tildel katalogets ejerskab ved hjælp af miljøvariablen $ USER . Dette tildeler katalogets ejerskab til den aktuelt loggede bruger. Sørg for, at du er logget ind med en almindelig brugers konto og ikke som root.

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

Dernæst tildel de relevante tilladelser til biblioteket, og tildel den indloggede bruger alle rettigheder (læs, skriv og udfør), og gruppen og andre brugere læser og udfører kun tilladelser.

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

Med bibliotekstilladelser og ejerskab korrekt konfigureret skal vi oprette en prøvewebside til domænet.

Trin 2: Opret en eksempelside til domænet

I dette trin skal vi oprette en index.html -fil til testformål. Denne fil serverer indhold, der vises i webbrowseren, når domænet kaldes til i browseren.

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

Indsæt følgende HTML-indhold.

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

Gem og afslut konfigurationsfilen.

Trin 3: Opret en Nginx-serverblok i Ubuntu

Nginx-serverblokke findes i mappen /etc/nginx/sites-available . Standard Nginx-serverblokken er /etc/nginx/sites-available/default , der serverer standard HTML-filen på /var/www/html/index.nginx-debian.html.

For vores sag er vi nødt til at oprette en serverblok, der vil tjene indholdet i index.html -filen, som vi oprettede tidligere.

Så opret den viste serverblokfil.

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

Indsæt indholdet 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;

}

Gem og afslut filen.

Trin 4: Aktivér Nginx Server Block i Ubuntu

For at aktivere Nginx-serverblokken skal du linke den til mappen /etc/nginx/sites-enabled/ som vist.

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

På dette tidspunkt er vi stort set færdige. Det er dog klogt at bekræfte, at alle konfigurationer er i orden. For at gøre det skal du udføre kommandoen:

$ sudo nginx -t

Hvis du fulgte vores trin korrekt, skulle du få vist output:

Til sidst skal du genstarte Nginx for at de ændringer, der er foretaget i konfigurationsfilerne, skal træde i kraft.

$ sudo systemctl restart Nginx

Bekræft derefter, om Nginx kører ved at køre den viste kommando:

$ sudo systemctl status Nginx

Trin 5: Test af Nginx Server Block i Ubuntu

For at bekræfte, om serverblokken fungerer som forventet og serverer indhold i /var/www/crazytechgeek.info -mappen, skal du åbne din webbrowser og gennemse din servers domænenavn:

http://domain-name

Du skal få indhold indeholdt i HTML-filen i din serverblok som vist.

I denne vejledning har vi vist dig, hvordan du opretter en Nginx-serverblok ved hjælp af et enkelt domæne på Ubuntu Linux. Du kan gentage de samme trin for forskellige domæner og stadig opnå de samme resultater. Vi håber, at guiden var indsigtsfuld.