A múlt héten ebben a cikkben ismertettük, hogyan működik az Apache és Nginx kombinációja a Timewebnél. Hálásak vagyunk az olvasóknak a kérdésekért és az aktív véleményezésért! Ma arról beszélünk, hogyan valósul meg több PHP-verzió elérhetősége egy szerveren, és miért garantáljuk ügyfeleink adatainak biztonságát.

Virtuális tárhely (Megosztott tárhely) azt jelenti, hogy egy szerveren számos ügyfélszámla található. Egy ügyfélszámlán jellemzően több weboldal van. Az oldalak működhetnek kész CMS rendszerekkel (például Bitrix) és egyedi megoldásokkal is. Ennek megfelelően a különböző rendszerek technikai követelményei eltérőek, ezért egy szerveren belül több PHP-verzió kezelésére van szükség.
Fő webkiszolgálóként az Nginx-et használjuk: ez fogadja a külső kapcsolódásokat, és statikus tartalmat szolgáltat. A többi kérést továbbítjuk az Apache webkiszolgálóhoz. Itt kezdődik a varázslat: minden PHP-verzióhoz külön Apache példány fut, amely figyel egy meghatározott portot. Ezt a portot a kliens weboldalának virtuális hostjában rögzítjük.
A megosztott séma működéséről részletesebben olvashat itt .

Megosztott séma
Fontos megjegyezni, hogy különböző verziókhoz külön PHP csomagokat telepítünk, mivel általában minden disztribúcióban csak egy PHP verzió található.
A biztonság az első!
A virtuális tárhely egyik fő feladata az ügyfél adatainak biztonságának garantálása. A különböző fiókok, amelyek egy szerveren találhatók, önállóak és függetlenek. Hogyan működik ez?
A weboldalak fájljai a felhasználók saját otthoni könyvtáraiban vannak tárolva, és a webszolgáltatók virtuális hostjaiban a szükséges útvonalakat jelölik meg. Fontos, hogy a webszolgáltatók, az Nginx és az Apache hozzáférjenek a meghatározott ügyfél végső fájljaihoz, mivel a webszolgáltató csak egy felhasználó nevében indul.
Az Nginx számára egy biztonsági javítást alkalmazunk, amit a Timeweb csapata fejlesztett ki: ez a javítás megváltoztatja a felhasználót arra, akit a webszolgáló konfigurációs fájljában megadtak.
Más hosting szolgáltatóknál ezt a problémát például a fájlrendszer kiterjesztett jogosultságainak (ACL) manipulálásával lehet megoldani.
Az Apache működéséhez többprocesszoros modult használunk . Ez lehetővé teszi, hogy minden VirtualHost saját felhasználói azonosítóval és csoportazonosítóval rendelkezzen.

Így a fent leírt műveleteknek köszönhetően biztonságos, izolált környezetet teremtünk minden ügyfél számára. Ezzel egyidejűleg megoldjuk a megosztott tárhelyek skálázási problémáit is.
A Apache és Nginx összekapcsolásáról a következő linken olvashat. cikkünkből. Továbbá ott alternatív konfigurációt is leírunk a Dedicated-sémán keresztül.
Ha kérdése van szakértőinkhez, írjon kommentben. Megpróbálunk mindenre válaszolni, vagy a következő cikkekben részletesebben ismertetni a probléma megoldását.
Forrás: habr.com
