Apache i Nginx. Povezani jednim lancem (2. dio)

Prošli tjedan u prvi dio U ovom smo članku opisali kako je napravljena kombinacija Apachea i Nginxa u Timewebu. Vrlo smo zahvalni čitateljima na njihovim pitanjima i aktivnoj raspravi! Danas vam otkrivamo kako je implementirana dostupnost više verzija PHP-a na jednom poslužitelju i zašto jamčimo sigurnost podataka našim klijentima.

Apache i Nginx. Povezani jednim lancem (2. dio)
Dijeljeni hosting (Dijeljeni hosting) pretpostavlja da se mnogi klijentski računi nalaze na jednom poslužitelju. U pravilu, jedan račun klijenta sadrži nekoliko web stranica. Web stranice rade i na gotovim CMS-ovima (na primjer, Bitrix) i na prilagođenim. Dakle, tehnički zahtjevi svih sustava su različiti, pa se nekoliko verzija PHP-a mora upravljati unutar istog poslužitelja.

Koristimo Nginx kao glavni web poslužitelj: on prihvaća sve veze izvana i poslužuje statični sadržaj. Preostale zahtjeve prosljeđujemo dalje Apache web poslužitelju. Ovdje počinje magija: svaka verzija PHP-a pokreće zasebnu instancu Apachea koja sluša na određenom priključku. Ovaj je priključak registriran na virtualnom hostu klijentske stranice.

Više o radu Zajedničke sheme možete pročitati u prvi dio članka.

Apache i Nginx. Povezani jednim lancem (2. dio)
Dijeljena shema

Važno je napomenuti da PHP pakete instaliramo za različite verzije, jer obično sve distribucije imaju samo jednu verziju PHP-a.

Sigurnost na prvom mjestu!

Jedna od glavnih zadaća dijeljenog hostinga je osigurati sigurnost podataka klijenata. Različiti računi, smješteni na istom poslužitelju, nezavisni su i neovisni. Kako radi?

Datoteke web stranice pohranjuju se u kućne direktorije samih korisnika, a tražene staze navedene su u virtualnom hostu web poslužitelja. Važno je da web poslužitelji, Nginx i Apache, imaju pristup finalnim datotekama određenog klijenta, budući da web poslužitelj pokreće samo jedan korisnik.

Nginx koristi sigurnosnu zakrpu koju je razvio Timeweb tim: ova zakrpa mijenja korisnika u onoga navedenog u konfiguracijskoj datoteci web poslužitelja.

Za druge pružatelje usluga hostinga ovaj se problem može riješiti, na primjer, manipulacijom proširenih prava datotečnog sustava (ACL).

Apache za rad koristi višeprocesni modul mpm-itk. Omogućuje svakom VirtualHostu rad sa svojim ID-om korisnika i ID-om grupe.
Apache i Nginx. Povezani jednim lancem (2. dio)
Stoga, zahvaljujući gore opisanim operacijama, dobivamo sigurno, izolirano okruženje za svakog klijenta. U isto vrijeme također rješavamo probleme skaliranja za dijeljeni hosting.

Kako je implementirana kombinacija Apache i Nginx možete pročitati u prvi dio naš članak. Osim toga, tamo je također opisana alternativna konfiguracija putem Namjenske sheme.

Ako imate pitanja za naše stručnjake, napišite u komentarima. Pokušat ćemo odgovoriti na sve ili pobliže opisati rješenje problema u sljedećim člancima.

Izvor: www.habr.com

Dodajte komentar