Apache a Nginx. Prepojené jednou reťazou (časť 2)

Minulý týždeň v prvá časť V tomto článku sme opísali, ako bola zostavená kombinácia Apache a Nginx v Timeweb. Sme veľmi vďační čitateľom za ich otázky a aktívnu diskusiu! Dnes vám povieme, ako je implementovaná dostupnosť viacerých verzií PHP na jednom serveri a prečo našim klientom garantujeme bezpečnosť dát.

Apache a Nginx. Prepojené jednou reťazou (časť 2)
Zdieľaný hosting (Zdieľaný hosting) predpokladá, že na jednom serveri je hosťovaných veľa klientskych účtov. Jeden klientsky účet spravidla obsahuje niekoľko webových stránok. Webové stránky fungujú ako na hotových CMS (napríklad Bitrix), tak aj na vlastných. Technické požiadavky všetkých systémov sú teda rozdielne, takže viacero verzií PHP musí byť spravovaných v rámci jedného servera.

Nginx používame ako hlavný webový server: prijíma všetky pripojenia zvonku a poskytuje statický obsah. Zostávajúce požiadavky prenesieme ďalej na webový server Apache. Tu začína kúzlo: každá verzia PHP spúšťa samostatnú inštanciu Apache, ktorá počúva na špecifickom porte. Tento port je zaregistrovaný vo virtuálnom hostiteľovi klientskej lokality.

Viac o fungovaní zdieľanej schémy si môžete prečítať v prvej časti článku.

Apache a Nginx. Prepojené jednou reťazou (časť 2)
Zdieľaná schéma

Je dôležité poznamenať, že balíky PHP inštalujeme pre rôzne verzie, pretože zvyčajne majú všetky distribúcie iba jednu verziu PHP.

Bezpečnosť predovšetkým!

Jednou z hlavných úloh zdieľaného hostingu je zabezpečiť bezpečnosť klientskych dát. Rôzne účty umiestnené na rovnakom serveri sú nezávislé a nezávislé. Ako to funguje?

Súbory webových stránok sú uložené v domovských adresároch samotných používateľov a požadované cesty sú špecifikované vo virtuálnom hostiteľovi webových serverov. Je dôležité, aby webové servery Nginx a Apache mali prístup ku konečným súborom konkrétneho klienta, keďže webový server spúšťa iba jeden používateľ.

Nginx používa bezpečnostnú opravu vyvinutú tímom Timeweb: táto oprava zmení používateľa na používateľa zadaného v konfiguračnom súbore webového servera.

U iných poskytovateľov hostingu je možné tento problém vyriešiť napríklad manipuláciou s právami rozšíreného systému súborov (ACL).

Apache používa na spustenie multiprocessingový modul mpm-itk. Umožňuje každému VirtualHost bežať s vlastným ID používateľa a ID skupiny.
Apache a Nginx. Prepojené jednou reťazou (časť 2)
Vďaka vyššie popísaným operáciám tak získavame bezpečné, izolované prostredie pre každého klienta. Zároveň riešime aj problémy so škálovaním pre zdieľaný hosting.

Ako je implementovaná kombinácia Apache a Nginx, si môžete prečítať prvá časť náš článok. Okrem toho je tu opísaná aj alternatívna konfigurácia prostredníctvom vyhradenej schémy.

Ak máte nejaké otázky pre našich odborníkov, napíšte do komentárov. Na všetko sa pokúsime odpovedať, prípadne podrobnejšie popísať riešenie problému v nasledujúcich článkoch.

Zdroj: hab.com

Pridať komentár