Pagājušajā nedēļā šajā rakstā mēs aprakstījām, kā ir izveidota Apache un Nginx saistība Timeweb. Mēs esam ļoti pateicīgi lasītājiem par jautājumiem un aktīvu diskusiju! Šodien stāstīsim, kā tiek nodrošināta vairāku PHP versiju pieejamība vienā serverī un kāpēc mēs garantējam datu drošību mūsu klientiem.

Virtualais hostings (Koplietotais hostings) nozīmē, ka vienā serverī ir izvietoti daudzi klientu konti. Viena klienta kontā parasti ir vairāki vietne. Vietnes darbojas gan uz gatavām CMS (piemēram, Bitrix), gan uz pielāgotām. Tādējādi tehniskās prasības visām sistēmām atšķiras, tādēļ vienā serverī ir jānodrošina vairāku PHP versiju pārvaldība.
Kā galveno tīmekļa serveri mēs izmantojam Nginx: tas pieņem visus ārējos savienojumus un sniedz statisko saturu. Pārējie pieprasījumi tiek tālāk pārsūtīti tīmekļa serverim Apache. Šeit arī sākas burvība: katrai PHP versijai tiek palaists atsevišķs Apache instances, kurš klausās noteiktu portu. Šis ports ir norādīts klienta vietnes virtuālajā hostā.
Par Shared shēmas darbību var lasīt sīkāk .

Shared shēma
Ir svarīgi atzīmēt, ka mēs instalējam PHP pakotnes dažādām versijām, jo parasti visās distribūcijās ir pieejama tikai viena PHP versija.
Drošība pirmā!
Viens no galvenajiem virtuālā hostinga uzdevumiem ir nodrošināt klienta datu drošību. Dažādi konti, atrodamies vienā serverī, ir patstāvīgi un neatkarīgi. Kā tas darbojas?
Vietņu faili tiek glabāti lietotāju mājas katalogos, bet virtuālajā hostā tīmekļa serveros tiek norādīti nepieciešamie ceļi. Tajā pašā laikā ir svarīgi, lai tīmekļa serveri, Nginx un Apache, iegūtu piekļuvi konkrētā klienta gala failiem, jo tīmekļa serveris tiek palaists tikai no viena lietotāja.
Nginx izmanto drošības ielāpu, ko izstrādājusi Timeweb komanda: šis ielāps maina lietotāju uz to, kurš ir norādīts tīmekļa servera konfigurācijas failā.
Citiem hostinga 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 darbībai tiek izmantots multisistēmas modulis . Tas ļauj palaist katru VirtualHost ar savu lietotāja identifikatoru un grupas ID.

Tādējādi, pateicoties iepriekš aprakstītajām operācijām, mēs iegūstam drošu izolētu vidi katram klientam. Tajā pašā laikā mēs risinām arī mērogošanas uzdevumus Shared-hostingā.
Kā iestatīta Apache un Nginx saite, varat izlasīt mūsu rakstā. Turklāt turpat aprakstīta alternatīvā konfigurācija caur Dedicated shēmu.
Ja jums ir jautājumi mūsu ekspertiem, rakstiet komentāros. Mēs centīsimies atbildēt uz visu vai aprakstīt risinājumu sīkāk nākamajos rakstos.
Avots: habr.com
