RačunalaProgramiranje

Nginx: Postavljanje i montaža

Ono što je Apache, nginx? Svrha, funkcije, mogućnosti prilagodbe - to su stvari koje svaki web developer treba da bude upoznat da testira njihovom razvoju.

O nginx Say a Word

Ovaj alat ima jednu glavnu i nekoliko radnih procesa. Prvi se bavi čitanje i provjeru konfiguracije. I pod svojom kontrolom je upravljanje rada. Problem prošlosti - za obradu dolazne zahtjeve. Korištenje nginx model koji se temelji na događajima. Mehanizmi se koriste u zavisnosti od operativnog sistema u cilju efikasnog zahtjeva dodjelu direktno između procesa radnika. Njihov broj je uvijek naznačeno u konfiguracijskoj datoteci. Vrijednost može biti bilo fiksni ili automatski podesiti, vođeni po broju procesora koji se mogu rukovati. U nginx konfiguraciju sistema i modula obavlja se pomoću konfiguracijske datoteke. Stoga, ako vam je potrebno nešto promijeniti, morate tražiti njegovo ime. Obično je to u direktivi / etc / nginx (ali put može varirati sa drugim sistemima) i ima ekstenziju .conf.

Start, restart i log

Da biste to učinili, morate napraviti izvršnu radi. Konfiguriranje nginx-server je moguće samo kada je počelo. Upravljanje se vrši zahvaljujući pozvati izvršnu sa parametar -s. Da biste to učinili, koristite sljedeće:

nginx -s signal

U tom slučaju, možete zamijeniti sljedeće naredbe (mora doći od korisnika koji je pokrenuo alat):

  1. Zaustaviti. Koristi se za brzo zatvaranje.
  2. Učitajte. Tim potrebno da ponovo konfiguracijske datoteke. Činjenica je da svaka promjena neće stupiti na snagu dok se datoteke radi. A da bi stupiti na snagu, potrebno je ponovno podizanje. Čim se ovaj signal, glavni proces počinje za provjeru ispravnosti sintaktičke komponente konfiguracijske datoteke i pokušati primijeniti smjernice na raspolaganju tamo. U slučaju neuspjeha, to će vratiti promjene i da će raditi sa starim parametrima. Ako je sve uspješan, to će pokrenuti nove radne procese, a stari će biti poslan na kraju potražnju.
  3. Otkaz. Koristi se za glatke završetka radova. Koristi se ako želite čekati trenutne zahtjeve završite održava.
  4. Ponovo otvoriti. Zatvori i otvorene datoteke dnevnika.

koristeći komunalije

Postavljanje procesi može se izvršiti pomoću Unix sredstva (kill alat će se raspravljati kao primjer). Oni obično koriste mehanizam za slanje signal direktno podacima procesa. Oni su povezani putem ID. Ovi podaci se čuvaju u nginx.pid datoteku. Pretpostavimo da smo zainteresovani u procesu №134. Zatim, za nesmetan završetak potrebu da nam pošaljete sljedeće informacije:

ubiti -s QUIT 1628

Pretpostavimo da želimo vidjeti popis svih otvorenih datoteka. Pravimo korištenje komunalnih ps. Tim također će izgledati ovako:

ps -ax | grep nginx

To je, kao što možete vidjeti, pomoću dodatnih instrumenata pokazuju da to ide njegove primjene. A sada hajde da se fokusiraju na to kako posvećeni nginx-konfiguraciju.

Struktura konfiguracijske datoteke

Instaliranje i konfiguriranje nginx uključuje rad s modulima. Oni su konfigurirani koriste direktive koji su navedeni u konfiguracijskoj datoteci. Oni mogu biti jednostavni ili blok. Prvi tip se sastoji od direktivama i parametri, koji su odvojeni razmacima, a njihov kraj je označen zarez - (;). Blok ima sličnu strukturu. Ali umjesto toga zatvaranje direktive nalazi dodatni set instrukcija koje se nalaze u kovrčava zagradama ({} uputstva). Ako ne mogu pisati imena i drugih parametara procesa, oni se zovu takve konstrukcije imaju kontekst. Kao primjer, http, lokacija i servera.

Distribuciju statički sadržaj

Ovo je jedan od najvažnijih izazova konfiguraciju nginx. Pod statističke distribucije sadržaja je značilo slike i HTML stranicama (ne dinamički). Pretpostavimo da nam je potreban jedan rad na postavljanju klastera nix nginx. Da li je teško da to učini? No, pogledajmo primjer. Pre početka na njemu, potrebno je detaljno uvjete problema. Dakle, ovisno o zahtjevu, datoteke će doći iz različitih lokalnih direktorija. Tako je u / data / www imamo HTML-dokumente. I u direktoriju / data / slike koje sadrže slike. Optimalna nginx postavke u ovom slučaju zahtijeva uređivanje konfiguracijsku datoteku, koju morate konfigurirati poslužitelj jedinice unutar http. Da podrži dva će se koristiti kao lokacija.

Implementacija: server

Dakle, prvo moramo stvoriti direktorije i stave u dokumentima koje su im potrebne da se proširi (u html trebate dodati sadržaj). Zatim otvorite konfiguracijske datoteke. U to default server već ima nekoliko blokova, koji u većini slučajeva su komentirana. Da bi se postigli optimalni rezultati, treba da se uradi u vezi sa svim komponentama po defaultu ovaj proces. Zatim dodajte novi server jedinicu koristeći ovaj kod:

http {

server {

}

}

Datoteku konfiguracije može raditi s nekoliko takvih blokova. Ali moraju se razlikovati po njihovim imenima i luka kroz koje se primljeni podaci.

Implementacija: lokacija

Određena u server:

lokacija / {

root / data / www;

}

Prisustvo znaka "/" je potrebno za usporedbu dobivenih podataka i vidjeti da li postoji takva adresu iz obrađenih zahtjeva ovdje. Ako nema problema, onda odredite putanju / data / www do željene datoteke koja se nalazi u lokalnom sistemu. Ako postoji meč sa nekoliko blokova, a zatim izaberite onaj sa najdužim prefiksom. U ovom primjeru, dužina je jednaka jedan, odnosno, korištenje će biti isključivo u slučaju da ne postoji "konkurencija". Sada, neka to će ažurirati:

lokacija / images / {

root / podataka;

}

Kako mogu identificirati, u potrazi smo za sliku. Sada, da kombinuju sva zbivanja koja su prethodno i konfiguracije u ovom trenutku je kako slijedi:

server {

lokacija / {

root / data / www;

}

lokacija / images / {

root / podataka;

}

}

Ovo je radna verzija tog predmeta, standardni port №80. Ovaj server bez problema mogu biti dostupne na vašem računalu, ako idete na adresu: http: // localhost /. Kako to sve radi?

Princip rada primjer

Dakle, kada dođu na pitanja koja počinju / slika, server odgovarajućih datoteka direktorij će biti poslan na korisnika. U njegovom odsustvu će se dati informacije koje ukazuju na greške 404. Ako obavlja konfiguraciju nginx na lokalnom računalu, a zatim zahtjev http: //localhost/images/example.png ćemo dobiti datoteku čija lokacija /data/images/example.png. Kad navedete "/" pretraživanje simbol će se odvijati u direktoriju / data / www. Međutim, mi smo samo promijenili konfiguraciju. Počinje da radi, mora ponovo pokrenuti. Da biste to učinili, koristite nginx -s reload. U slučaju kada je normalan rad nije moguće, u access.log i error.log datoteka koje se nalaze u Direktivi / usr / local / nginx / rezanje, možete tražiti uzrok kvara.

Stvaranje jednostavne proxy servera

To se može reći o nginx - Konfiguracija ovog objekta je jedan od najčešćih aplikacija (i prilično lako, usput). Ona koristi princip servera koji prima zahtjev, a zatim preusmjerava ih na potrebnu lokacijama. Nakon toga, odgovor se očekuje od njih, što ih šalje na onaj koji je postavio zadatak. Dakle, pogledajmo na primjer stvaranje baze tačke. To će se baviti zahtjevima korisnika usluga i pružiti im slike iz lokalnog direktorija. Dakle, da se blokira http dodali još jedan server sa sljedećim sadržajem:

server {

slušati 8080;

root / data / up1;

lokacija / {

}

}

Hajde da dešifrirati za vas: stvaranje jednostavan servera. On će slušati port 8080 nema slušati, onda server će raditi na 80.. Će biti prikazan sve zahtjeve u okviru lokalne sistema datoteka koje su usmjerene u direktorij / data / up1 (naravno, prije nego da će biti neophodno stvoriti). Da bi mogli provjeriti da je potrebno postaviti index.html datoteku. Zbog plasman direktiva u kontekstu root servera možemo koristiti lokacija u svakom trenutku (kao što je na taj način uklonjena ograničenja pristupa). Mi se sada radi na stvaranju proxy. Za to raditi, treba nam proxy_pass direktive, za koje će biti naveden naziv protokola, a luka objekta kao parametri (za lokalne povezivanje će izgledati http: // localhost: 8080). Dobiti ovaj rezultat:

server {

lokacija / {

proxy_pass http: // localhost: 8080;

}

lokacija / images / {

root / podataka;

}

}

Ako pogledate u kod i analizirati ga, možda ćete primijetiti da je druga jedinica Lokacija je promijenjena. Dakle, u ovom slučaju, to može raditi s tipičnim ekstenzije slika. A malo drugačije, može se prikazati kako slijedi:

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

root / podataka / slika;

}

Konačnu konfiguraciju proxy servera je kako slijedi:

server {

lokacija / {

proxy_pass http: // localhost: 8080 /;

}

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

root / podataka / slika;

}

}

To će filtrirati zahtjeve na kraju koje postoje te ekstenzije i poslati ih osobi koja traži datoteke. Nemojte zaboraviti da će morati da se ponovo pokrenuti ako želite provjeriti konfiguracijske datoteke. I vjerujte mi, to je samo nginx-konfiguraciju. Ako otvorite konfiguraciju "Vkontakte" file server ili drugih velikih kompanija, oni će imati kod više od riječi u ovom članku.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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