Apache un Nginx. Savienots ar vienu ķēdi (2. daļa)

Pagājušajā nedēļā pirmā daļa Šajā rakstā mēs aprakstījām, kā Timeweb tika izveidota Apache un Nginx kombinācija. Esam ļoti pateicīgi lasītājiem par jautājumiem un aktīvo diskusiju! Šodien mēs pastāstīsim, kā tiek īstenota vairāku PHP versiju pieejamība vienā serverī un kāpēc mēs garantējam datu drošību saviem klientiem.

Apache un Nginx. Savienots ar vienu ķēdi (2. daļa)
Kopīga mitināšana (Koplietojama mitināšana) pieņem, ka daudzi klientu konti tiek mitināti vienā serverī. Parasti vienā klienta kontā ir vairākas vietnes. Vietnes darbojas gan uz gatavām CMS (piemēram, Bitrix), gan pielāgotām. Tādējādi visu sistēmu tehniskās prasības ir atšķirīgas, tāpēc viena servera ietvaros ir jāpārvalda vairākas PHP versijas.

Mēs izmantojam Nginx kā galveno tīmekļa serveri: tas pieņem visus savienojumus no ārpuses un apkalpo statisku saturu. Atlikušos pieprasījumus mēs tālāk nosūtām Apache tīmekļa serverim. Šeit sākas burvība: katra PHP versija palaiž atsevišķu Apache gadījumu, kas klausās noteiktā portā. Šis ports ir reģistrēts klienta vietnes virtuālajā resursdatorā.

Vairāk par koplietojamās shēmas darbību varat lasīt šeit raksta pirmā daļa.

Apache un Nginx. Savienots ar vienu ķēdi (2. daļa)
Kopīga shēma

Ir svarīgi atzīmēt, ka mēs instalējam PHP pakotnes dažādām versijām, jo ​​parasti visiem izplatījumiem ir tikai viena PHP versija.

Drošība pirmajā vietā!

Viens no galvenajiem dalītā hostinga uzdevumiem ir nodrošināt klientu datu drošību. Dažādi konti, kas atrodas vienā serverī, ir neatkarīgi un neatkarīgi. Kā tas strādā?

Vietņu faili tiek glabāti pašu lietotāju mājas direktorijos, un nepieciešamie ceļi ir norādīti tīmekļa serveru virtuālajā resursdatorā. Ir svarīgi, lai tīmekļa serveriem Nginx un Apache būtu piekļuve konkrēta klienta galīgajiem failiem, jo ​​tīmekļa serveri palaiž tikai viens lietotājs.

Nginx izmanto Timeweb komandas izstrādāto drošības ielāpu: šis ielāps maina lietotāju uz to, kas norādīts tīmekļa servera konfigurācijas failā.

Citiem mitināšanas pakalpojumu sniedzējiem šo problēmu var atrisināt, piemēram, manipulējot ar paplašinātām failu sistēmas tiesībām (ACL).

Apache palaišanai izmanto vairāku apstrādes moduli mpm-itk. Tas ļauj katram VirtualHost darboties ar savu lietotāja ID un grupas ID.
Apache un Nginx. Savienots ar vienu ķēdi (2. daļa)
Tādējādi, pateicoties iepriekš aprakstītajām darbībām, mēs iegūstam drošu, izolētu vidi katram klientam. Tajā pašā laikā mēs risinām arī koplietojamā mitināšanas mērogošanas problēmas.

Kā tiek ieviesta Apache un Nginx kombinācija, var lasīt pirmā daļa mūsu raksts. Turklāt tur ir aprakstīta arī alternatīva konfigurācija, izmantojot īpašo shēmu.

Ja jums ir kādi jautājumi mūsu ekspertiem, rakstiet komentāros. Mēs centīsimies atbildēt uz visu vai sīkāk aprakstīt problēmas risinājumu turpmākajos rakstos.

Avots: www.habr.com

Pievieno komentāru