ComputereProgrammering

Nginx: Opsætning og installation

Hvad er Apache, Nginx? Formål, funktioner, muligheder for tilpasning - det er de ting, som hver webudvikler bør være bekendt at afprøve deres udvikling.

Om nginx sige et ord

Dette værktøj har en hoved- og flere arbejdsgange. De første omhandler læsning og konfiguration verifikation. Også under dens kontrol er styring af arbejdsgange. Problemet med fortiden - at håndtere indkommende anmodninger. Den nginx brug model, der er baseret på begivenhederne. Mekanismer også anvendes, afhængigt af operativsystemet for at opnå effektive anmodninger allokering direkte mellem arbejdsprocesser. Deres antal er altid angivet i konfigurationsfilen. Værdien kan enten fast eller indstilles automatisk, styret af antallet af processorkerner, der kan håndteres. I nginx konfiguration af systemet og modulerne udføres ved hjælp af konfigurationsfilen. Derfor, hvis du har brug for at ændre noget, er du nødt til at kigge efter hans navn. Normalt er det i direktivet / etc / nginx (men ruten kan variere med andre systemer) og har en forlængelse .conf.

Start, genstart, og log

For at gøre dette, skal du foretage de eksekverbare kørsler. Konfiguration nginx-server er kun muligt, når den startes. Ledelsen udføres takket være ringe til eksekverbare med -s parameter. For at gøre dette, skal du bruge følgende:

Nginx -s signal

I dette tilfælde kan du erstatte følgende kommandoer (skal komme fra den bruger, der lancerede værktøj):

  1. Stop. Det bruges til hurtig lukning.
  2. Opdater. Holdet havde brug for at genindlæse konfigurationsfilen. Faktum er, at eventuelle ændringer ikke vil træde i kraft, indtil filen fungerer. Og for at træde i kraft, en genstart er nødvendig. Så snart du får denne signal, den vigtigste proces begynder at kontrollere rigtigheden af den syntaktiske del af konfigurationsfilen og forsøge at anvende den vejledning, tilgængelige der. I tilfælde af fejl, vil det rulle tilbage ændringer og vil arbejde med de gamle parametre. Hvis alt lykkes, vil det lancere nye arbejdsgange, og den gamle vil blive sendt til den efterspørgsel ende.
  3. Afslut. Bruges til smidig afvikling af arbejdet. Det bruges, hvis du ønsker at vente, indtil de aktuelle anmodninger færdig opretholdes.
  4. Åbn. Luk og åbne logfiler.

Brug forsyningsselskaber

Indstilling processer kan også udføres under anvendelse Unix midler (kill nytte vil blive diskuteret som eksempel). De bruger som regel en mekanisme til at sende signalet direkte til procesdata. De er forbundet ved hjælp af ID. Disse data gemmes i nginx.pid fil. Lad os antage, at vi er interesseret i processen №134. Så for en smidig afvikling af behovet for at sende os følgende oplysninger:

dræbe -s QUIT 1628

Lad os antage, at vi ønsker at se en liste over alle åbne filer. Vi gør brug af hjælpeprogrammet ps. Holdet også vil se ud som følger:

ps -ax | grep nginx

Det vil sige, som du kan se, ved at bruge ekstra instrumenter viser, at det går dens anvendelse. Og lad os nu fokusere på, hvordan engagerede nginx-konfiguration.

Strukturen af konfigurationsfilen

Installation og konfiguration af nginx omfatter arbejde med modulerne. De er konfigureret ved hjælp af de direktiver, der er angivet i konfigurationsfilen. De kan være simple eller blok. Den første type består af direktiver og parametre, som er adskilt af mellemrum, og deres ende er angivet med et semikolon - (;). Blokken har en lignende struktur. Men i stedet for dette direktiv lukning placeret ekstra sæt af instruktioner, der er placeret i de krøllede parenteser ({} vejledning). Hvis de kan bogføre navne og andre parametre for processen, de kaldes sådanne konstruktioner har sammenhæng. Som et eksempel, http, placering og server.

Fordelingen af statisk indhold

Dette er en af de vigtigste udfordringer for nginx konfiguration. Under den statistiske fordeling af indholdet er betød billeder og HTML-sider (ikke dynamisk). Antag, at vi har brug for en enkelt værk om opsætning af klyngen nix nginx. Er det svært at gøre det? Nej, lad os se på et eksempel. Før man går i gang på det, er det nødvendigt at detaljer betingelserne for problemet. Så afhængigt af anmodningen, vil filerne kommer fra forskellige lokale telefonbøger. Således, i / data / www har vi HTML-dokumenter. Og i den mappe / data / billeder, der indeholder billeder. Optimal indstilling nginx i dette tilfælde kræver redigere konfigurationsfilen, som du skal konfigurere serveren enhed inden for http. For at understøtte de to vil blive brugt som location.

Implementering: server

Så først skal vi skabe mapper og placere sig selv i de filer, de har brug for at udvide (i html, du har brug for at tilføje indhold). Derefter åbne konfigurationsfilen. I det standard-serveren har allerede flere blokke, som for det meste er kommenteret ud. For at opnå optimale resultater, der skal gøres i forhold til alle komponenter som standard denne proces. Så tilføje en ny server enhed ved hjælp af denne kode:

http {

server {

}

}

Konfigurationsfilen kan arbejde med flere af disse blokke. Men de skal være kendetegnet ved deres navne og havne gennem hvilke data modtages.

Implementering: placering

Bestemt i serveren:

placering / {

root / data / www;

}

Tilstedeværelsen af tegnet "/" er nødvendigt at sammenligne de opnåede data og se, om der er en sådan adresse fra det behandlede anmodning her. Hvis der ikke er problemer, og angiv stien / data / www til den ønskede fil, der er placeret i det lokale system. Hvis der er et match med et par blokke, og vælg derefter den ene med den længste præfiks. I dette eksempel er længden er lig med en, det vil sige, vil brugen udelukkende i tilfælde af, at der ikke er "konkurrence". Nu, lad det vil opdatere:

placering / images / {

root / data;

}

Hvordan kan identificere, søger vi et billede. Lad os nu samle alle udviklinger, der tidligere var, og konfigurationen på dette tidspunkt er som følger:

server {

placering / {

root / data / www;

}

placering / images / {

root / data;

}

}

Dette er en fungerende version af denne sag, standard port №80. Denne server uden problemer kan være til rådighed på din computer, hvis du går til adressen: http: // localhost /. Hvordan alt dette arbejde?

Princippet for driften af eksempel

Så når de kommer på forespørgsler, der begynder med a / billeder, serveren af de tilsvarende mappe filerne vil blive sendt til brugeren. I hans fravær vil blive givet oplysninger, der angiver fejl 404. Hvis udført nginx konfiguration på den lokale computer, så anmodningen http: //localhost/images/example.png vi vil få en fil, hvis placering /data/images/example.png. Når du angiver en "/" symbol søgning vil blive gennemført i mappen / data / www. Men vi har kun ændret konfigurationen. Det begynder at arbejde, skal den genstartes. For at gøre dette, skal du bruge nginx -s reload. I det tilfælde, hvor den normale drift ikke er mulig, i access.log og error.log filer placeret i direktivet / usr / local / Nginx / logs, kan du kigge efter årsagen til fejlen.

Oprettelse af en simpel proxyserver

Det kan siges om nginx - konfiguration af denne facilitet er en af de mest almindelige programmer (og forholdsvis let, ved den måde). Det bruger princippet om den server, der modtager en anmodning, og derefter omdirigerer dem til de nødvendige steder. Derefter forventes svar fra dem, som sender dem til den, der indstilles opgaven. Så lad os se på et eksempel på at skabe en base punkt. Det vil beskæftige sig med service-brugernes anmodninger og give dem et billede fra en lokal mappe. Så for at blokere http tilføje en anden server med følgende indhold:

server {

lyt 8080;

root / data / up1;

placering / {

}

}

Lad os nu dechifrere for dig: at skabe en enkel server. Han vil lytte til port 8080 ikke har en lytter, så serveren vil køre på den 80 th. Vises alle anmodninger inden for det lokale filsystem, der er rettet til den mappe / data / up1 (selvfølgelig, før at det vil være nødvendigt at oprette den). At være i stand til at kontrollere det er nødvendigt at placere filen index.html. På grund af placeringen af direktiver i forbindelse med roden serveren vi kan bruge placering på alle tidspunkter (som dermed fjernede adgangsbegrænsninger). Vi arbejder nu på at skabe en proxy. For det til at virke, har vi brug proxy_pass direktiv, som der vil blive specificeret protokolnavnet, og havnefaciliteten som parametre (for lokal forbindelse det vil se ud http: // localhost: 8080). Få dette resultat:

server {

placering / {

proxy_pass http: // localhost: 8080;

}

placering / images / {

root / data;

}

}

Hvis man ser på koden, og analysere det, kan du bemærke, at den anden enhed placering er blevet ændret. I dette tilfælde kan det fungere med typiske udvidelser billeder. En lidt anderledes, kunne det blive vist på følgende måde:

placering ~ \ (gif | jpg | png) $ {.

root / data / billeder;

}

Den endelige proxy konfiguration er som følger:

server {

placering / {

proxy_pass http: // localhost: 8080 /;

}

placering ~ \ (gif | jpg | png) $ {.

root / data / billeder;

}

}

Det vil bortfiltrere anmodninger i slutningen hvoraf der er disse udvidelser og sende dem til den person, der har anmodet filer. Glem ikke, at det vil være nødvendigt at genstarte, hvis du ønsker at tjekke konfigurationsfilen. Og tro mig, det er bare nginx-konfiguration. Hvis du åbner konfiguration "Vkontakte" filserver eller anden stor virksomhed, vil de have koden mere end ord i denne artikel.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 da.unansea.com. Theme powered by WordPress.