Apache i Nginx. Połączeni jednym łańcuchem (część 2)

Ostatni tydzień w część pierwsza W tym artykule opisaliśmy, jak zbudowana została kombinacja Apache i Nginx w Timeweb. Jesteśmy bardzo wdzięczni czytelnikom za pytania i aktywną dyskusję! Dziś opowiadamy jak realizowana jest dostępność kilku wersji PHP na jednym serwerze i dlaczego gwarantujemy bezpieczeństwo danych naszym klientom.

Apache i Nginx. Połączeni jednym łańcuchem (część 2)
Hosting współdzielony (Hosting współdzielony) zakłada, że ​​wiele kont klientów jest hostowanych na jednym serwerze. Z reguły na jednym koncie klienta znajduje się kilka stron internetowych. Strony internetowe działają zarówno na gotowych CMS-ach (np. Bitrix), jak i na niestandardowych. Dlatego wymagania techniczne wszystkich systemów są różne, dlatego kilka wersji PHP musi być zarządzanych w ramach tego samego serwera.

Używamy Nginx jako głównego serwera WWW: akceptuje on wszystkie połączenia z zewnątrz i obsługuje treści statyczne. Pozostałe żądania przesyłamy dalej do serwera WWW Apache. Tutaj zaczyna się magia: każda wersja PHP uruchamia osobną instancję Apache, która nasłuchuje na określonym porcie. Port ten jest zarejestrowany na wirtualnym hoście witryny klienta.

Więcej o działaniu schematu Shared przeczytasz w pierwsza część artykułu.

Apache i Nginx. Połączeni jednym łańcuchem (część 2)
Wspólny schemat

Należy pamiętać, że instalujemy pakiety PHP dla różnych wersji, ponieważ zazwyczaj wszystkie dystrybucje mają tylko jedną wersję PHP.

Bezpieczeństwo przede wszystkim!

Jednym z głównych zadań hostingu współdzielonego jest zapewnienie bezpieczeństwa danych klientów. Różne konta, znajdujące się na tym samym serwerze, są niezależne i niezależne. Jak to działa?

Pliki serwisu internetowego przechowywane są w katalogach domowych samych użytkowników, a wymagane ścieżki określone są na wirtualnym hoście serwerów WWW. Ważne jest, aby serwery WWW Nginx i Apache miały dostęp do plików końcowych konkretnego klienta, ponieważ serwer WWW jest uruchamiany tylko przez jednego użytkownika.

Nginx wykorzystuje łatkę bezpieczeństwa opracowaną przez zespół Timeweb: ta łatka zmienia użytkownika na użytkownika określonego w pliku konfiguracyjnym serwera WWW.

W przypadku innych dostawców hostingu problem ten można rozwiązać na przykład poprzez manipulację uprawnieniami rozszerzonego systemu plików (ACL).

Apache używa do działania modułu wieloprocesorowego mpm-itk. Pozwala każdemu VirtualHostowi działać z własnym identyfikatorem użytkownika i identyfikatorem grupy.
Apache i Nginx. Połączeni jednym łańcuchem (część 2)
Tym samym, dzięki opisanym powyżej operacjom, uzyskujemy bezpieczne, izolowane środowisko dla każdego Klienta. Jednocześnie rozwiązujemy problemy skalowania w przypadku hostingu współdzielonego.

Można przeczytać, w jaki sposób zaimplementowano kombinację Apache i Nginx część pierwsza nasz artykuł. Dodatkowo opisana jest tam również alternatywna konfiguracja poprzez schemat Dedykowany.

Jeśli masz jakieś pytania do naszych ekspertów, napisz w komentarzach. Postaramy się odpowiedzieć na wszystko lub opisać bardziej szczegółowo rozwiązanie problemu w kolejnych artykułach.

Źródło: www.habr.com

Dodaj komentarz