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. EnA
-post er en DNS-post som peker domenenavnet til den offentlige serverens IP-adresse. For denne veiledningen vil vi bruke domenenavnetcrazytechgeek.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.