Hvordan sette opp Nginx-serverblokker (virtuelle verter) på Ubuntu 20.04


Noen ganger kan det hende du må være vert for mer enn ett domene eller nettstedet på din Nginx-nettserver. For at det skal skje, må en serverblokk (virtuelle verter) konfigureres for å innkapsle hele domenets konfigurasjon. Nginx-serverblokker er synonyme med Apache virtuelle vertsfiler og tjener samme formål.

Dette emnet viser hvordan du setter opp en Nginx-serverblokk på Ubuntu 20.04.

  • En A-post definert på vertsleverandøren for domenenavnet ditt. En A-post er en DNS-post som peker domenenavnet til den offentlige serverens IP-adresse. For denne veiledningen vil vi bruke domenenavnet crazytechgeek.info for illustrasjonsformål.
  • En LEMP-stakk installert på Ubuntu 20.04 LTS-forekomst.
  • En påloggingsbruker med Sudo-rettigheter.

Med alle kravene oppfylt, la oss utforske hvordan du kan sette opp en Nginx-serverblokk i Ubuntu.

Trinn 1: Opprett en Nginx-dokumentrotkatalog

For å komme i gang vil vi opprette en egen katalog for domenet vårt som vil inneholde alle innstillingene knyttet til domenet.

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

Deretter tildeler du katalogens eierskap ved å bruke miljøvariabelen $USER. Dette tildeler katalogens eierskap til den påloggede brukeren. Sørg for at du er logget på med en vanlig brukerkonto og ikke som root.

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

Deretter tildeler du de riktige tillatelsene til katalogen, og gir den påloggede brukeren alle rettighetene (lese, skrive og kjøre) og gruppen og andre brukere kun lese- og kjøretillatelser.

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

Med katalogtillatelsene og eierskapet riktig konfigurert, må vi opprette en eksempelwebside for domenet.

Trinn 2: Opprett en prøveside for domenet

I dette trinnet skal vi lage en index.html-fil for testformål. Denne filen vil vise innhold som vises i nettleseren når domenet kalles opp i nettleseren.

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

Lim inn følgende HTML-innhold.

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

Lagre og avslutt konfigurasjonsfilen.

Trinn 3: Opprett en Nginx-serverblokk i Ubuntu

Nginx-serverblokker er plassert i katalogen /etc/nginx/sites-available. Standard Nginx-serverblokk er /etc/nginx/sites-available/default som serverer standard HTML-fil på /var/www/html/index.nginx-debian.html.

For vårt tilfelle må vi opprette en serverblokk som vil tjene innholdet i index.html-filen som vi opprettet tidligere.

Så lag serverblokkfilen som vises.

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

Lim inn innholdet 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;

}

Lagre og avslutt filen.

Trinn 4: Aktiver Nginx Server Block i Ubuntu

For å aktivere Nginx-serverblokken, må du symlinke den til /etc/nginx/sites-enabled/-katalogen som vist.

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

På dette tidspunktet er vi ganske ferdige. Det er imidlertid klokt å bekrefte at alle konfigurasjonene er i orden. For å gjøre det, kjør kommandoen:

$ sudo nginx -t

Hvis du fulgte trinnene våre riktig, bør du få utdataene vist:

Til slutt, start Nginx på nytt for at endringene som er gjort i konfigurasjonsfilene skal tre i kraft.

$ sudo systemctl restart Nginx

Bekreft deretter om Nginx kjører ved å kjøre kommandoen som vises:

$ sudo systemctl status Nginx

Trinn 5: Testing av Nginx Server Block i Ubuntu

For å bekrefte om serverblokken fungerer som forventet og viser innhold i /var/www/crazytechgeek.info-katalogen, åpne nettleseren og bla gjennom serverens domenenavn:

http://domain-name

Du bør få innhold i HTML-filen i serverblokken som vist.

I denne guiden har vi vist deg hvordan du setter opp en Nginx-serverblokk ved å bruke et enkelt domene på Ubuntu Linux. Du kan gjenta de samme trinnene for forskjellige domener og fortsatt oppnå de samme resultatene. Vi håper at guiden var innsiktsfull.