Android

Hvordan sette opp nginx-serverblokker på ubuntu 18.04

Configurando Nginx - [PARTE 2]: LEMP: PHP + MySQL

Configurando Nginx - [PARTE 2]: LEMP: PHP + MySQL

Innholdsfortegnelse:

Anonim

Nginx Server Blocks lar deg kjøre mer enn ett nettsted på en enkelt maskin. Med Server Blocks kan du angi roten til nettstedsdokumentet (katalogen som inneholder nettstedfilene), lage en egen sikkerhetspolicy for hvert nettsted, bruke forskjellige SSL-sertifikater for hvert nettsted og mye mer.

I denne opplæringen vil vi gi trinnvise instruksjoner om hvordan du konfigurerer Nginx-serverblokker (ligner Apache Virtual Hosts) på Ubuntu 18.04.

Forutsetninger

Forsikre deg om at du har oppfylt følgende forutsetninger før du fortsetter med denne opplæringen:

  • Du har et domenenavn som peker til din offentlige server-IP. I denne opplæringen vil vi bruke example.com Du har Nginx installert ved å følge disse instruksjonene. Du er logget inn som bruker med sudo-rettigheter.
I noen dokumentasjon ser du Server Blocks bli referert til som Virtual host . En virtuell vert er et Apache-begrep.

Lag katalogstrukturen

Dokumentrot er katalogen der nettstedfilene for et domenenavn lagres og serveres som svar på forespørsler. Vi kan sette dokumentroten til et hvilket som helst sted vi ønsker, men i denne guiden bruker vi følgende katalogstruktur:

/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html ├── domain3.com │ └── public_html

I utgangspunktet vil vi lage en egen katalog for hvert domene vi ønsker å være vertskap på serveren vår i /var/www katalogen. Innenfor hvert av disse katalogene vil vi opprette en public_html katalog som lagrer domenets nettstedfiler.

La oss lage rotkatalogen for vårt example.com :

sudo mkdir -p /var/www/example.com/public_html

For testformål vil vi opprette en index.html fil i domenets dokumentrotkatalog.

Åpne redigereren din og opprett demofilen:

/var/www/example.com/public_html/index.html

<code> Welcome to example.com Success! example.com home page! </code>

Welcome to example.com Success! example.com home page!

I denne guiden kjører vi kommandoene som sudo-bruker, og de nyopprettede filene og katalogene eies av rotbrukeren.

For å unngå tillatelsesproblemer kan vi endre eierforholdet til domenedokumentets rotkatalog til Nginx-brukeren ( www-data ):

sudo chown -R www-data: /var/www/example.com

Opprett en serverblokk

Som standard på Ubuntu-systemer blir Nginx-serverblokkerings konfigurasjonsfiler lagret i /etc/nginx/sites-available katalog, som er aktivert gjennom symbolske lenker til /etc/nginx/sites-enabled/ katalogen.

Åpne ønsket redigerer og opprett følgende serverblokkfil:

/etc/nginx/sites-available/example.com

server { listen 80; listen:80; root /var/www/example.com/public_html; index index.html; server_name example.com www.example.com; access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location / { try_files $uri $uri/ =404; } }

Du kan navngi konfigurasjonsfilen som du vil, men vanligvis er det best å bruke domenenavnet.

For å aktivere den nye serverblokkeringsfilen må vi opprette en symbolsk kobling fra filen til den sites-enabled katalogen, som blir lest av Nginx under oppstart:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Test Nginx-konfigurasjonen for riktig syntaks:

sudo nginx -t

Hvis det ikke er noen feil, vil utskriften se slik ut:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Start Nginx-tjenesten på nytt for at endringene skal tre i kraft:

sudo systemctl restart nginx

Endelig for å bekrefte at serverblokken fungerer som forventet, åpne http://example.com i den valgte nettleseren, og du vil se noe slikt:

Konklusjon

Du har lært hvordan du oppretter en Nginx-serverblokkonfigurasjon for å være vert for flere domener på en enkelt Ubuntu-server. Du kan gjenta trinnene som er beskrevet ovenfor og opprette flere serverblokker for alle domenene dine.

Sikre Nginx med Let's Encrypt på Ubuntu 18.04

nginx ubuntu

Dette innlegget er en del av hvordan-å-installere-lemp-stack-on-ubuntu-18-04-serien.

Andre innlegg i denne serien:

• Hvordan installere Nginx på Ubuntu 18.04 • Hvordan installere Nginx-serverblokker på Ubuntu 18.04 • Sikre Nginx med Let's Encrypt på Ubuntu 18.04 • Hvordan installere MySQL på Ubuntu 18.04 • Hvordan installere PHP på Ubuntu 18.04