Hva er standard_server i nginx

Hva er standard_server i nginx
Som en webserver, Nginx tillater deg å definere flere serverblokker i konfigurasjonsfilen. Alle disse serverne fungerer som separate virtuelle webservere. Som et resultat er det nødvendig med en tilnærming for å bestemme hvilken server som vil håndtere spesifikke inngående forespørsler. I Nginx -konfigurasjonsfilen brukes standard_serverflagget til dette formålet.

Hva er standard_server i nginx

I en serverblokk, når Standard_server Flagg blir lagt til på et lyttedirektiv, Nginx vil erklære den serveren som standardserver. Etter det vil NGINX bruke standardserveren for å håndtere forespørslene når HTTP -vertshodet forblir uovertruffen med andre serverblokker. Standard_server -flagget kan bare legges til en gang i en serverblokk med hvilken som helst IP: portkombinasjon spesifisert som en parameter i lyttedirektivet. Imidlertid kan standard_serverflagget brukes flere ganger på forskjellige kombinasjoner av IP: port.

Før du bruker standard_server i nginx, må du installere nginx på systemet ditt hvis du ikke allerede har det!

Hvordan installere nginx i centos

For det første, åpne opp CentOS -terminalen din ved å trykke på “Ctrl+alt+t”Og skriv deretter ut den undergitte kommandoen:

$ sudo yum install nginx

Den feilfrie utgangen erklærer at Nginx er installert på systemet ditt.

Hvordan aktivere nginx i centos

Bruk nå den undergitte kommandoen for å aktivere Nginx på CentOS-systemet:

$ sudo systemctl aktiver nginx

Etter det, start Nginx -tjenesten:

$ sudo systemctl start nginx

Hvordan sette brannmurregler for nginx i centos

Det neste vi skal gjøre er å sette brannmurinnstillingene for å tillate de eksterne tilkoblingene for Nginx, som kjører på havnen 80 Som standard. De Firewall-CMD er kommandoen som brukes til å administrere permanent og runtime Firewalld -konfigurasjon.

For permanent aktivering av HTTP-tilkoblinger på port 80, skriv ut den undergitte kommandoen i CentOS-terminalen din:

$ SUDO FIREWALL-CMD-PERMANENT-LADD-SERVICE = HTTP

For å bekrefte om Http Brannmurtjeneste ble riktig lagt til systemet, utfør denne kommandoen:

$ SUDO FIREWALL-CMD-PERMANENT-LIST-ALL

Nå må du laste inn brannmurtjenesten:

$ sudo Firewall-CMD-Reload

Hvordan sette opp servere i nginx

I Nginx -konfigurasjonsfilen er serverkonfigurasjonsdirektivene, for eksempel Server navn og TCP -port er spesifisert i serverblokken . Lyttedirektivet instruerer Nginx om å lytte etter HTTP -tilkoblinger på den spesifiserte IP- og TCP -porten. Når Nginx håndterer en forespørsel, instruerer servernavndirektivet det om å velge en spesifikk server fra en liste over mange serverblokker.

Hvis du vil konfigurere en virtuell server i Nginx, så åpner du NGINX -konfigurasjonsfilen i Nano -redigereren/etc/nginx/nginx.konf”:

$ sudo nano/etc/nginx/nginx.konf

Nginx -konfigurasjonsfilen din vil se slik ut:

Nginx -konfigurasjonsfilen din skal inneholde minst ett serverdirektiv for å definere en virtuell server. Mens du behandler en forespørsel, bestemmer Nginx først hvilken virtuell server som skal håndtere forespørselen. I HTTP -sammenheng er en virtuell server definert av et serverdirektiv, for eksempel:

http
server
# Serverkonfigurasjon

I serverblokken kan du konfigurere alle innstillingene relatert til den aktuelle serveren:

Flere serverdirektiver legges til HTTP -konteksten for å definere flere virtuelle servere. “lytte”Direktiv i serverkonfigurasjonsblokken brukes til å legge til IP -adressen og porten som serveren lytter for forespørslene. IPv4- og IPv6 -adresser er tillatt og IPv6 -adresser bør legges inn i firkantede parenteser.

Konfigurasjonen av en server som lytter på port 8080 og IP -adresse 127.0.0.1 vises i eksemplet nedenfor:

http
server
Lytt 127.0.0.1: 8080;
# Ekstra serverkonfigurasjon

Hvordan sette opp en standardserver i nginx

I Nginx konfigurasjonsfil, Standard_server Alternativet spesifiserer standardserveren som en klientforespørsel med et ukjent domene og et tomt vertsfelt vil bli videresendt. For eksempel, når en klient skriver ut server -IP -adressen til en nettleser eller har mange domener, for eksempel Linuxhint.com, test1.Linuxhint.com, og test2.Linuxhint.com, ikke alle av dem er nevnt i Nginx -konfigurasjonsfilen.

Hvis du ikke har lagt til "Standard_server”Parameter til hvilken som helst virtuell server, vil den første serveren bli betraktet som standard. Du kan imidlertid eksplisitt spesifisere en standard_server som følger:

server
Lytt 80 standard_server;
#..

Nginx -konfigurasjon vil betrakte denne serveren som sin “Standard_server”:

Du kan også legge til en annen konfigurasjonsparameter, for eksempel navnet på serveren og katalogen som inneholder alle konfigurasjonsfilene:

server
Lytt 80 standard_server;
Server navn _;
root/usr/share/nginx/html;

Lagre de ekstra linjene i "/etc/nginx/nginx.konf”Fil ved å trykke”Ctrl+O”:

Test nå Nginx -konfigurasjonsfilen og syntaks ved å utføre "nginx”Kommando med“-t”Alternativ:

$ sudo nginx -t

Etter vellykket testing, start på nytt Nginx service slik at systemet ditt trer i kraft fra de ekstra endringene:

$ sudo SystemCTL Restart Nginx

Konklusjon

I Nginx Konfigurasjonsfilen, serverblokken spesifiserer en virtuell server for å håndtere spesifikke typer forespørsler. Etter å ha satt opp forskjellige serverblokker, velger administratorer blokker for tilkoblingen. Dette valget er basert på IP -adressen, port og domenenavn på forespørselen. Du kan imidlertid også spesifisere en Standard_server For å håndtere innkommende forespørsler. I dette innlegget har vi forklart standard_server og hvordan du setter opp virtuelle servere, inkludert standardserveren i nginx.