Apache & Nginx. Durch eine Kette gebunden (Teil 2)

Letzte Woche haben wir im ersten Teil dieses Artikels beschrieben, wie das Apache- und Nginx-Bundle in Timeweb erstellt wird. Wir sind den Lesern sehr dankbar für ihre Fragen und die aktive Diskussion! Heute erfahren Sie, wie die Verfügbarkeit mehrerer PHP-Versionen auf einem Server realisiert wird und warum wir unseren Kunden die Datensicherheit garantieren.





Virtuelles Hosting (Shared-Hosting) bedeutet, dass ein einzelner Server mehrere Client-Konten umfasst. Das Konto eines Kunden enthält in der Regel mehrere Sites. Websites funktionieren sowohl auf vorgefertigten CMS (z. B. Bitrix) als auch auf benutzerdefinierten. Daher sind die technischen Anforderungen für alle Systeme unterschiedlich. Daher müssen mehrere PHP-Versionen auf einem Server verwaltet werden.



Wir verwenden Nginx als Hauptwebserver: Es akzeptiert alle Verbindungen von außen und liefert statische Inhalte. Wir leiten den Rest der Anfragen weiter an den Apache-Webserver weiter. Hier beginnt die Magie: Für jede PHP-Version wird eine separate Apache-Instanz gestartet, die einen bestimmten Port überwacht. Dieser Port ist auf dem virtuellen Host der Client-Site registriert.



Weitere Informationen zur Arbeit des freigegebenen Schemas finden Sie im ersten Teil des Artikels .





Gemeinsames Schema



Es ist wichtig zu beachten, dass wir PHP-Pakete unter verschiedene Versionen stellen, da normalerweise alle Distributionen nur eine PHP-Version haben.



Sicherheit zuerst!



Eine der Hauptaufgaben des Shared Hosting ist die Gewährleistung der Sicherheit von Kundendaten. Verschiedene Konten auf einem Server sind unabhängig und unabhängig. Wie es funktioniert?



Site-Dateien werden in den Home-Verzeichnissen der Benutzer selbst gespeichert, und die erforderlichen Pfade werden auf dem virtuellen Host der Webserver angegeben. Dabei ist es wichtig, dass die Webserver Nginx und Apache Zugriff auf die endgültigen Dateien eines bestimmten Clients haben, da der Webserver nur von einem Benutzer gestartet wird.



Für Nginx wird ein vom Timeweb-Team entwickelter Sicherheitspatch verwendet: Dieser Patch ändert den Benutzer in den in der Webserver-Konfigurationsdatei angegebenen Patch.



Andere Hosting-Anbieter können dieses Problem beispielsweise durch Manipulation mit erweiterten Dateisystemrechten (ACL) lösen.



Apache verwendet das Multiprozessor-Modul mpm-itk . Jeder VirtualHost kann mit seiner eigenen Benutzer- und Gruppen-ID ausgeführt werden.



Dank der oben beschriebenen Vorgänge erhalten wir für jeden Client eine sichere, isolierte Umgebung. Gleichzeitig lösen wir auch die Skalierungsprobleme für Shared Hosting.



Wie die Apache- und Nginx-Bindungen implementiert werden, erfahren Sie im ersten Teil unseres Artikels. Darüber hinaus wird dort auch eine alternative Konfiguration über das dedizierte Schema beschrieben.



Wenn Sie noch Fragen an unsere Experten haben, schreiben Sie in die Kommentare. Wir werden versuchen, alles zu beantworten oder die Lösung des Problems in den folgenden Artikeln ausführlicher zu beschreiben.



All Articles