Konfigurer Nginx-serverblokker (virtuelle verter) på Ubuntu 15.10

  • Cornelius Paul
  • 0
  • 4706
  • 1184

Om serverblokker

Serverblokker (aka virtuelle verter i Apache webserver) brukes til å konfigurere mer enn ett domene eller nettsteder ved hjelp av en enkelt IP-adresse.

For mer informasjon om Apache Virtual Hosts, se følgende lenke.

  • Konfigurer virtuelle verter for Apache på Ubuntu 15.10

Dette er veldig nyttig hvis noen vil kjøre flere nettsteder med en enkelt IP-adresse på en enkelt VPS. VirtualHost er et Apache-begrep. Nginx har ikke virtuelle verter, den har "Serverblokker" som bruker servernavn og lytterdirektiv for å binde til tcp-stikkontakter.

I denne opplæringen, la meg vise hvordan du konfigurerer serverblokker i nginx webserver på Ubuntu 15.10 64bit server. Selv om disse trinnene skal fungere på tidligere Ubuntu-versjoner som Ubuntu 15.04, 14.10, 14.04 osv.

Scenario

For formålet med denne opplæringen vil jeg bruke Ubuntu 15.10 64bit serverutgave, og jeg skal være vert for to testnettsteder kalt “Unixmen1.local” og “Unixmen2.local”. Testboksens IP-adresse og vertsnavn er 192.168.1.103/24 og server.unixmen.local henholdsvis. Forsikre deg om at du har erstattet de virtuelle domenenavnene med dine egne.

Installer Nginx Webserver

Før vi installerer nginx-serveren, la oss oppdatere vår Ubuntu 15.10-server:

sudo apt-get oppdatering

Installer nå nginx-webserver ved hjelp av følgende kommando:

sudo apt-get install nginx

Etter å ha installert nginx-serveren, la oss teste om webserveren fungerer som den skal eller ikke ved å navigere til URL-en http: // ip-adresse /.

Som du ser på skjermbildet ovenfor, er nginx webserver i gang.

Konfigurer Nginx Server Blocks

1. Opprett virtuelle kataloger

La oss nå fortsette med å konfigurere virtuelle verter. Som jeg nevnte tidligere, skal jeg være vert for to virtuelle verter kalt “Unixmen1.local”, og “Unixmen2.local”.

Opprett en offentlig katalog for å plassere de to virtuelle vertsdataene.

La oss først lage en katalog for unixmen1.local nettstedet:

sudo mkdir -p /var/www/html/unixmen1.local/public_html

Opprett deretter katalogen for unixmen2.local nettstedet:

sudo mkdir -p /var/www/html/unixmen2.local/public_html

2. Sette opp eierskap og tillatelser

Ovennevnte kataloger eies av rotbrukeren nå. Vi bør endre eierskapet til disse to katalogene til den vanlige brukeren.

sudo chown -R $ USER: $ USER /var/www/html/unixmen1.local/public_html/ 
sudo chown -R $ USER: $ USER /var/www/html/unixmen2.local/public_html/

“$ USER” -variabelen angir brukeren som er pålogget.

Sett lesetillatelsene til Nginx-nettroten (/ var / www / html /) katalogen, slik at alle kan lese filer fra den katalogen.

sudo chmod -R 755 / var / www / html /

Vi har opprettet katalogene for å oppbevare nettsteddataene og tildelt de nødvendige tillatelsene og eierskapet til dem.

4. Opprett eksempelsider for serverblokker

Nå må vi lage eksempelsidene som skal serveres gjennom nettsteder.

La oss først lage en eksempelside til den virtuelle verten unixmen1.local.

Lage en 'index.html' til unixmen1.local virtuell vert,

sudo vi /var/www/html/unixmen1.local/public_html/index.html

Legg til følgende innhold:

  www.unixmen1.local   

Velkommen til nettstedet til Unixmen1.local

Lagre og lukk filen.

På samme måte kan du legge til eksempelsiden til den andre virtuelle verten.

sudo vi /var/www/html/unixmen2.local/public_html/index.html

Legg til følgende innhold:

  www.unixmen2.local   

Velkommen til nettstedet til Unixmen2.local

Lagre og lukk filen.

5. Opprett serverblokkeringsfiler

Som standard kommer nginx med en standard serverblokkfil som heter misligholde. Vi kopierer "misligholde" filinnholdet til de nye serverblokkfilene våre.

sudo cp / etc / nginx / nettsteder-tilgjengelig / standard /etc/nginx/sites-available/unixmen1.local 
sudo cp / etc / nginx / nettsteder-tilgjengelig / standard /etc/nginx/sites-available/unixmen2.local

Endre nå filen unximen1.local slik at den gjenspeiler med våre nye egne verdier.

sudo vi /etc/nginx/sites-available/unixmen1.local

Gjør de relevante endringene som gjenspeiler til unixmen1 nettstedet.

[…] Server listen 80 default_server; hør [::]: 80 standard_server; # SSL-konfigurasjon # # lytt 443 ssl standard_server; # listen [::]: 443 ssl default_server; # # Selvsignerte serier generert av ssl-cert-pakken # Ikke bruk dem i en produksjonsserver! # # Inkluderer snippets / snakeoil.conf;         root /var/www/html/unixmen1.local/public_html;         # Legg til index.php i listen hvis du bruker PHP index index.html index.htm index.nginx-debian.html;         servernavn unixmen1.local www.unixmen1.local;         location / # Forsøk først å tjene forespørsel som fil, deretter # som katalog, og fall deretter tilbake til å vise en 404. try_files $ uri $ uri / = 404;  […]

På samme måte kan du endre den andre serverblokkfilen.

sudo vi /etc/nginx/sites-available/unixmen2.local

Gjør de relevante endringene som gjenspeiler til unixmen2 nettstedet.

[…] Server listen 80; hør [::]: 80; # SSL-konfigurasjon # # lytt 443 ssl standard_server; # listen [::]: 443 ssl default_server; # # Selvsignerte serier generert av ssl-cert-pakken # Ikke bruk dem i en produksjonsserver! # # Inkluderer snippets / snakeoil.conf;         root /var/www/html/unixmen2.local/public_html;         # Legg til index.php i listen hvis du bruker PHP index index.html index.htm index.nginx-debian.html;         servernavn unixmen2.local www.unixmen2.local;         location / # Forsøk først å tjene forespørsel som fil, deretter # som katalog, og fall deretter tilbake til å vise en 404. try_files $ uri $ uri / = 404;  […] 

Vær oppmerksom på at du må fjerne standard_server linje ved siden av linjene hør 80; og hør [::]: 80; i den andre serverblokkfilen (unixmen2.local).

hør 80; hør [::]: 80;

Etter endring av serveren blokkerer filer, deaktiver standard serverblokk, og aktiver nye serverblokker som vist nedenfor.

sudo rm / etc / nginx / nettsteder-aktivert / standard 
sudo ln -s /etc/nginx/sites-available/unixmen1.local / etc / nginx / sites-enabled / 
sudo ln -s /etc/nginx/sites-available/unixmen2.local / etc / nginx / sites-enabled /

Til slutt starter du nginx-tjenesten på nytt.

I Ubuntu 15.10 / 15.04:

sudo systemctl start nginx på nytt

I Ubuntu 14.10 og tidligere versjoner:

sudo service nginx start på nytt

Det er det. Nå konfigurerte vi vellykket nginx-serverblokkene på Ubuntu-serveren vår.

Testing av serverblokker

Rediger fil / etc / verter,

sudo vi / etc / verter

Legg til de virtuelle domenenavnene en etter en som vist nedenfor.

[…] 192.168.1.103 unixmen1.local 192.168.1.103 unixmen2.local

Lagre og lukk filen.

Åpne nettleseren din og pek på URL-en http: //unixmen1.local eller http: //unixmen2.local. Du bør se eksempelsidene som vi opprettet tidligere.

Unixmen1.lokal testside:

Unixmen2.local testside:

Hvis du vil få tilgang til disse nettstedene fra de eksterne systemene dine, bør du legge til de faktiske domenenavnoppføringene i DNS-serveren. Derfor har jeg ingen faktiske domenenavn og DNS-server, jeg testet dette bare på mitt lokale system, og det fungerte perfekt som forventet.

På samme måte kan du legge til så mange som serverblokker du ønsket. Håper denne opplæringen vil hjelpe deg et sted.

Lykke til!

Jubel!!




Ingen har kommentert denne artikkelen ennå.

En samling nyttig informasjon om Linux-operativsystemet og ny teknologi
Nye artikler, praktiske tips, detaljerte anmeldelser og guider. Føl deg hjemme i Linux-operativsystemets verden