Apache & Nginx. Povezani jednim lancem (2. deo)

Prošle sedmice u prvom delu ove članke opisali smo kako je povezan Apache i Nginx u Timeweb-u. Vrlo smo zahvalni čitaocima na pitanjima i aktivnoj diskusiji! Danas pričamo o tome kako je omogućena dostupnost više verzija PHP-a na jednom serveru i zašto garantujemo sigurnost podataka našim klijentima.

Apache & Nginx. Povezani su jednom vezom (2. dio)
Virtuelni hosting (Shared hosting) podrazumeva da je na jednom serveru smešteno više korisničkih naloga. Na nalogu jednog klijenta obično je smešteno nekoliko sajtova. Sajtovi rade kako na gotovim CMS-ovima (na primer, Bitrix), tako i na prilagođenim. Tako su tehnički zahtevi svih sistema različiti, pa se u okviru jednog servera mora upravljati sa više verzija PHP-a.

Kao glavni web server koristimo Nginx: on prima sve veze spolja i isporučuje statički sadržaj. Ostale zahteve prosleđujemo dalje, na web server Apache. Tu počinje magija: za svaku verziju PHP-a pokrenut je poseban primerak Apache-a koji sluša određeni port. Taj port se unosi u virtuelnom hostu korisničkog sajta.

O radu Shared sheme možete pročitati detaljnije u prvom delu članka.

Apache & Nginx. Povezani su jednom vezom (2. dio)
Shared shema

Važno je napomenuti da instaliramo PHP pakete za različite verzije, jer obično u svim distribucijama postoji samo jedna verzija PHP-a.

Sigurnost na prvom mestu!

Jedan od glavnih zadataka virtuelnog hostinga je da obezbedi sigurnost podataka klijenta. Različiti nalozi, smešteni na jednom serveru, su samostalni i nezavisni. Kako to funkcioniše?

Datoteke sajtova se čuvaju u glavnim direktorijumima samih korisnika, dok se u virtuelnom hostu web servera navode potrebni putevi. Pri tom je važno da web serveri, Nginx i Apache, dobiju pristup krajnjim datotekama određenog klijenta, jer web server pokreće samo jedan korisnik.

Za Nginx se koristi sigurnosni patch, razvijen od strane tima Timeweb: ovaj patch menja korisnika na onog ko je naveden u konfiguracionom fajlu web servera.

Kod drugih hosting provajdera ovaj problem se može rešiti, na primer, manipulacijama sa proširenim pravima datotečnog sistema (ACL).

Za rad Apache-a koristi se modul za višestruko procesiranje mpm-itk. Omogućuje pokretanje svakog VirtualHosta s vlastitim identifikatorom korisnika i grupnim ID-om.
Apache & Nginx. Povezani su jednom vezom (2. dio)
Tako, zahvaljujući navedenim operacijama, dobivamo sigurnu izoliranu okolinu za svakog klijenta. U isto vrijeme rješavamo i izazove skaliranja za Shared hosting.

Kako je realizirana veza Apache i Nginx može se pročitati u prvom delu našem članku. Također, tamo je opisana alternativna konfiguracija putem Dedicated sheme.

Ako imate dodatnih pitanja za naše stručnjake, pišite u komentarima. Trudit ćemo se odgovoriti na sve ili detaljnije opisati rješenje problema u sljedećim člancima.

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster