Prošli tjedan u
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
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
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
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