DatamaskinerProgrammering

Nginx: installasjon og installasjon

Hva er apache, nginx? Formålet, funksjoner, innstillinger for innstillinger er ting som hver webutvikler bør være kjent med for å teste sine prestasjoner.

Om nginx

Dette verktøyet har en hoved og flere arbeidsprosesser. Den første leser og tester konfigurasjonen. Kontroll av arbeidsprosesser er også under hans kontroll. Oppgaven til sistnevnte er å behandle innkommende forespørsler. Nginx bruker en modell som er hendelsesbasert. Mekanismer som er avhengige av operativsystemet, brukes også til å oppnå effektiv tildeling av forespørsler direkte mellom arbeidsflyter. Deres nummer er alltid angitt i konfigurasjonsfilen. Verdien kan enten fastes eller settes automatisk, basert på antall prosessorkjerner som du kan jobbe med. I nginx er systemet og modulene konfigurert ved hjelp av konfigurasjonsfilen. Derfor, hvis det er nødvendig å endre noe, så er det nødvendig å søke det. Vanligvis er det i / etc / nginx-direktivet (men banen kan endres ved bruk av andre systemer) og har en .conf-utvidelse.

Oppstart, omstart og logger

For å gjøre dette må du få den kjørbare til å fungere. Nginx-serveren kan bare konfigureres når den er startet. Kontrollen utføres ved å ringe den kjørbare med alternativet -s. For å gjøre dette, bruk følgende oppføring:

Nginx -s signal

I dette tilfellet kan du erstatte slike kommandoer (skal komme fra brukeren som lanserte verktøyet):

  1. Stoppe. Brukes for rask nedleggelse.
  2. Last. Kommandoen er nødvendig for å laste inn konfigurasjonsfilen. Saken er at eventuelle endringer ikke vil bli brukt mens filen fungerer. Og for at de skal tre i kraft, er det nødvendig med en omstart. Så snart dette signalet er mottatt, begynner hovedprosessen å kontrollere korrektheten av den syntaktiske komponenten i konfigurasjonsfilen og forsøke å bruke instruksjonene som er tilgjengelig der. Hvis det mislykkes, vil det rulle tilbake endringene og vil fungere med de gamle innstillingene. Hvis alt gikk bra, vil nye arbeidsflyter bli startet, og den gamle vil bli sendt et krav om å fullføre.
  3. Avslutt. Gjelder for jevn nedleggelse. Gjelder hvis du må vente til de nåværende forespørslene er fullført.
  4. Gjenåpne. Lukk og åpne loggfilene.

Bruke Verktøy

Prosesser kan også konfigureres ved hjelp av Unix-verktøy (for eksempel vil drapverktøyet bli vurdert). Vanligvis bruker de mekanismen til å sende prosessen et signal direkte til dataene. De er knyttet til ID. Disse dataene er lagret i filen nginx.pid. Anta at vi er interessert i prosessnummer 134. Så for jevn avslutning må vi sende følgende informasjon:

Drep-QUIT 1628

La oss si at vi vil se en liste over alle kjørende filer. Vi bruker ps-verktøyet til å gjøre dette. Kommandoen ser slik ut:

Ps -ax | Grep nginx

Det er, som du ser, når du bruker ekstra verktøy, er det angitt at det er applikasjonen. Og la oss nå konsentrere oss om hvordan nginx-tuning er ferdig.

Struktur av konfigurasjonsfilen

Installasjon og konfigurering nginx gir arbeid med moduler. De er konfigurert ved hjelp av direktiver som er angitt i konfigurasjonsfilen. De er enkle og blokkerte. Den første typen direktiver består av et navn og parametere som er adskilt av mellomrom, og deres ende er angitt med et semikolon - (;). Blokk har en lignende struktur. Men i dette direktivet, i stedet for slutten, er det satt et sett med tilleggsinstruksjoner, som er plassert i braces ({retninger}). Hvis navnene og parametrene til andre prosesser kan plasseres i dem, er slike konstruksjoner allerede kalt kontekst. Et eksempel er http, sted og server.

Statisk innholdsfordeling

Dette er en av de viktigste oppgavene som står overfor nginx-konfigurasjonen. Fordelingen av statistisk innhold innebærer bilder og HTML-sider (ikke dynamisk). La oss si at vi trenger en engangsjobb for å konfigurere en nix nginx-klynge. Er det vanskelig å gjøre dette? Nei, og la oss se på et eksempel. Før du går videre til det, er det nødvendig å detaljere forholdene til problemet. Så, avhengig av forespørslene, kommer filene fra forskjellige lokale kataloger. Så, i / data / www har vi HTML-dokumenter. Og katalogen / data / bilder inneholder bilder. Den optimale nginx-konfigurasjonen krever i dette tilfellet redigering av konfigurasjonsfilen, der du må konfigurere serverblokken i http. Til støtte vil to steder også bli brukt.

Gjennomføring: server

Så først må vi opprette katalogene og plassere filene med de nødvendige utvidelsene (i html må du legge til innhold). Åpne deretter konfigurasjonsfilen. I det er det som regel allerede flere serverblokker, som i massevis kommenteres. For å oppnå det optimale resultatet må denne prosessen gjøres med respekt for alle komponentene som standard. Deretter legger du til en ny serverblokk med denne koden:

Http {

Server {

}

}

Konfigurasjonsfilen kan fungere med flere slike blokker. Men de bør avvike i navn og porter, hvor dataene mottas.

Gjennomføring: plassering

Det er definert inne i serveren:

Plassering / {

Root / data / www;

}

Tilstedeværelsen av "/" -tegnet er nødvendig for å sammenligne mottatte data og for å se om det er en slik adresse fra det behandlede spørsmålet her. Hvis det ikke er noe problem, spesifiser du banen / data / www til den nødvendige filen, som er i dette lokale systemet. Hvis det er en kamp med flere blokker, er den som har det lengste prefikset valgt. I eksemplet ovenfor er lengden en, det vil si bruken vil være utelukkende hvis det ikke finnes noen "konkurrenter". La oss nå forbedre det:

Plassering / bilder / {

Root / data;

}

Som du kan bestemme, ser vi etter bilder. Og nå la oss kombinere alt arbeidet som var tidligere, og konfigurasjonen for øyeblikket ser slik ut:

Server {

Plassering / {

Root / data / www;

}

Plassering / bilder / {

Root / data;

}

}

Dette er arbeidsversjonen, som skjer med standard portnummer 80. Denne serveren kan lett nås på den lokale datamaskinen, hvis du går til adressen: http: // localhost /. Hvordan virker dette alt?

Eksemplet fungerer

Så når forespørsler kommer som starter med / bilder, blir serverfilene fra den tilsvarende katalogen sendt til brukeren. Hvis det er fraværende, vil informasjon som indikerer feil 404 bli overført. Hvis du konfigurerer nginx på den lokale datamaskinen, vil du ved å be om http: //localhost/images/example.png få en fil hvis posisjon er /data/images/example.png. Hvis du angir et "/" tegn, vil søket bli utført i katalogen / data / www. Men vi endret bare konfigurasjonen. For å starte det, må det startes på nytt. For å gjøre dette, bruk kommandoen nginx-s på nytt. I tilfelle når normalt arbeid ikke er mulig, kan du søke etter årsaken til feilen i filene error.log og access.log som finnes i direktivet / usr / local / nginx / logs.

Opprette en enkel proxy-server

Det kan sies om nginx - å sette dette objektet er en av de hyppige applikasjonene (og ganske enkelt, blant annet). Her brukes prinsippet om serveren, som aksepterer forespørselen, og omdirigerer dem deretter til de nødvendige nettstedene. Etter det forventes et svar fra dem, som leder dem til den som satte oppgaven. Så la oss se på et eksempel på å lage et utgangspunkt. Den vil håndtere forespørsler fra brukere og gi dem bilder fra den lokale katalogen. Så, til http-blokken, legg til en ekstra server med følgende innhold:

Server {

Lytt 8080;

Root / data / up1;

Plassering / {

}

}

Og nå la oss dechifrere for deg: en enkel server er opprettet. Det vil lytte på port 8080. Ikke spesifiser lytt, da serveren vil løpe på 80. Alle forespørsler i det lokale filsystemet som er rettet til katalogen / data / up1 (selvfølgelig, det må opprettes før) vil bli vist. For å kunne sjekke det, må du sette index.html filen. Ved å plassere rotdirektivet i forbindelse med serveren, kan vi bruke plassering under alle forhold (da tilgangsbegrensninger blir fjernet). Nå jobber vi med å skape en proxy-server. For driften trenger vi et proxy_pass-direktiv, for hvilket protokollen, navnet og porten til objektet skal spesifiseres som parametere (for lokal tilkobling vil det se ut som http: // localhost: 8080). Resultatet er som følger:

Server {

Plassering / {

Proxy_pass http: // localhost: 8080;

}

Plassering / bilder / {

Root / data;

}

}

Hvis du vurderer koden og analyserer den, kan du merke at den andre plasseringsblokken ble endret. Så, i dette tilfellet kan det fungere med typiske bildeutvidelser. På en litt annen måte kan den vises på denne måten:

Sted ~ \. (Gif | jpg | png) $ {

Rot / data / bilder;

}

Den endelige konfigurasjonen av proxy-serveren er som følger:

Server {

Plassering / {

Proxy_pass http: // localhost: 8080 /;

}

Sted ~ \. (Gif | jpg | png) $ {

Rot / data / bilder;

}

}

Det vil filtrere ut forespørsler på slutten av det som er angitt utvidelser, og sende dem til den som ba om filene. Ikke glem at hvis du vil sjekke konfigurasjonsfilen, må den startes på nytt. Og tro meg, dette er den enkleste nginx-tuningen. Hvis du åpner en konfigurasjonsfil for en Vkontakte-server eller et annet stort firma, vil de ha mer kode enn ord i denne artikkelen.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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