Prošle sedmice u
Shared hosting (Shared hosting) pretpostavlja da su mnogi klijentski računi smješteni na jednom serveru. U pravilu, račun jednog klijenta sadrži nekoliko web stranica. Web stranice rade i na gotovim CMS-ima (na primjer, Bitrix) i na prilagođenim. Dakle, tehnički zahtjevi svih sistema su različiti, pa se sa nekoliko verzija PHP-a mora upravljati unutar istog servera.
Koristimo Nginx kao glavni web server: prihvata sve veze izvana i opslužuje statički sadržaj. Preostale zahtjeve proksiramo dalje na Apache web server. Tu počinje magija: svaka verzija PHP-a pokreće zasebnu Apache instancu koja sluša na određenom portu. Ovaj port je registrovan u virtuelnom hostu klijentske stranice.
Više o radu dijeljene šeme možete pročitati u
Zajednička šema
Važno je napomenuti da instaliramo PHP pakete za različite verzije, jer obično sve distribucije imaju samo jednu verziju PHP-a.
Sigurnost na prvom mjestu!
Jedan od glavnih zadataka dijeljenog hostinga je osigurati sigurnost podataka o klijentima. Različiti nalozi koji se nalaze na istom serveru su nezavisni i nezavisni. Kako radi?
Datoteke web stranice pohranjuju se u kućne direktorije samih korisnika, a potrebne staze su specificirane u virtuelnom hostu web servera. Važno je da web serveri, Nginx i Apache, imaju pristup konačnim datotekama određenog klijenta, jer web server pokreće samo jedan korisnik.
Nginx koristi sigurnosnu zakrpu koju je razvio tim Timeweb: ova zakrpa mijenja korisnika na onog navedenog u konfiguracijskoj datoteci web servera.
Za druge hosting provajdere, ovaj problem se može riješiti, na primjer, kroz manipulaciju proširenim pravima na sistem datoteka (ACL).
Apache koristi višeprocesni modul za pokretanje
Tako, zahvaljujući gore opisanim operacijama, dobijamo sigurno, izolovano okruženje za svakog klijenta. U isto vrijeme rješavamo i probleme s skaliranjem za Shared hosting.
Kako je implementirana kombinacija Apache i Nginx može se pročitati
Ako imate pitanja za naše stručnjake, pišite u komentarima. Pokušat ćemo odgovoriti na sve ili detaljnije opisati rješenje problema u sljedećim člancima.
izvor: www.habr.com