Apache at Nginx. Ikinonekta ng isang chain (part 2)

Noong nakaraang linggo sa ang unang bahagi Sa artikulong ito, inilarawan namin kung paano binuo ang kumbinasyon ng Apache at Nginx sa Timeweb. Lubos kaming nagpapasalamat sa mga mambabasa para sa kanilang mga tanong at aktibong talakayan! Ngayon, sasabihin namin sa iyo kung paano ipinapatupad ang pagkakaroon ng ilang bersyon ng PHP sa isang server at kung bakit ginagarantiyahan namin ang seguridad ng data sa aming mga kliyente.

Apache at Nginx. Ikinonekta ng isang chain (part 2)
Ibinahaging hosting Ipinapalagay ng (Nakabahaging pagho-host) na maraming mga account ng kliyente ang naka-host sa isang server. Bilang isang patakaran, ang account ng isang kliyente ay naglalaman ng ilang mga website. Gumagana ang mga website sa parehong handa na CMS (halimbawa, Bitrix) at mga custom. Kaya, ang mga teknikal na kinakailangan ng lahat ng mga system ay magkakaiba, kaya ang ilang mga bersyon ng PHP ay dapat na pamahalaan sa loob ng parehong server.

Ginagamit namin ang Nginx bilang pangunahing web server: tinatanggap nito ang lahat ng koneksyon mula sa labas at naghahatid ng static na nilalaman. Proxy namin ang natitirang mga kahilingan sa Apache web server. Dito magsisimula ang mahika: ang bawat bersyon ng PHP ay nagpapatakbo ng hiwalay na instance ng Apache na nakikinig sa isang partikular na port. Ang port na ito ay nakarehistro sa virtual host ng client site.

Maaari kang magbasa nang higit pa tungkol sa pagpapatakbo ng Shared scheme sa ang unang bahagi ng artikulo.

Apache at Nginx. Ikinonekta ng isang chain (part 2)
Nakabahaging scheme

Mahalagang tandaan na nag-i-install kami ng mga PHP package para sa iba't ibang bersyon, dahil kadalasan ang lahat ng mga distribusyon ay mayroon lamang isang bersyon ng PHP.

Kaligtasan una!

Ang isa sa mga pangunahing gawain ng shared hosting ay upang matiyak ang seguridad ng data ng kliyente. Ang iba't ibang mga account, na matatagpuan sa parehong server, ay independyente at independiyente. Paano ito gumagana?

Ang mga file ng website ay naka-imbak sa mga home directory ng mga user mismo, at ang mga kinakailangang path ay tinukoy sa virtual host ng mga web server. Mahalaga na ang mga web server, Nginx at Apache, ay may access sa mga huling file ng isang partikular na kliyente, dahil ang web server ay inilunsad ng isang user lamang.

Gumagamit ang Nginx ng security patch na binuo ng Timeweb team: binago ng patch na ito ang user sa tinukoy sa configuration file ng web server.

Para sa iba pang mga provider ng pagho-host, maaaring malutas ang problemang ito, halimbawa, sa pamamagitan ng pagmamanipula ng extended file system rights (ACL).

Gumagamit ang Apache ng multiprocessing module para tumakbo mpm-itk. Pinapayagan nito ang bawat VirtualHost na tumakbo gamit ang sarili nitong user ID at group ID.
Apache at Nginx. Ikinonekta ng isang chain (part 2)
Kaya, salamat sa mga operasyong inilarawan sa itaas, nakakakuha kami ng isang secure, nakahiwalay na kapaligiran para sa bawat kliyente. Kasabay nito, nilulutas din namin ang mga problema sa pag-scale para sa Shared hosting.

Kung paano ipinatupad ang kumbinasyon ng Apache at Nginx ay mababasa sa ang unang bahagi aming artikulo. Bilang karagdagan, ang isang alternatibong pagsasaayos sa pamamagitan ng Dedicated scheme ay inilarawan din doon.

Kung mayroon kang anumang mga katanungan para sa aming mga eksperto, sumulat sa mga komento. Susubukan naming sagutin ang lahat o ilarawan ang solusyon sa problema nang mas detalyado sa mga sumusunod na artikulo.

Pinagmulan: www.habr.com

Magdagdag ng komento