На прошлой неделе в первая часть В этой статье мы описали, как была построена комбинация Apache и Nginx в Timeweb. Мы очень благодарны читателям за вопросы и активное обсуждение! Сегодня мы рассказываем, как реализовано наличие нескольких версий PHP на одном сервере и почему мы гарантируем безопасность данных нашим клиентам.
Общий хостинг (Общий хостинг) предполагает, что множество учетных записей клиентов размещаются на одном сервере.
Как правило, в одном аккаунте клиента находится несколько сайтов.
Сайты работают как на готовых CMS (например, Битрикс), так и на заказных.
Таким образом, технические требования всех систем различны, поэтому на одном сервере необходимо управлять несколькими версиями PHP. В качестве основного веб-сервера мы используем Nginx: он принимает все подключения извне и обслуживает статический контент. Остальные запросы проксируем дальше на веб-сервер Apache. Здесь начинается волшебство: каждая версия PHP запускает отдельный экземпляр Apache, который прослушивает определенный порт. Этот порт прописан на виртуальном хосте клиентского сайта.
Подробнее о работе Совместной схемы вы можете прочитать в первая часть статьи .
Общая схема
Важно отметить, что мы устанавливаем пакеты PHP для разных версий, поскольку обычно во всех дистрибутивах имеется только одна версия PHP.
Безопасность прежде всего!
Одной из основных задач виртуального хостинга является обеспечение безопасности данных клиента.Разные аккаунты, расположенные на одном сервере, независимы и независимы.
Как это работает? Файлы сайта хранятся в домашних каталогах самих пользователей, а необходимые пути указываются на виртуальном хосте веб-серверов.
Важно, чтобы веб-серверы Nginx и Apache имели доступ к конечным файлам конкретного клиента, поскольку веб-сервер запускается только одним пользователем.
Nginx использует патч безопасности, разработанный командой Timeweb: этот патч меняет пользователя на того, который указан в файле конфигурации веб-сервера.
У других хостинг-провайдеров эту проблему можно решить, например, путем манипуляций с расширенными правами файловой системы (ACL).
Apache использует многопроцессорный модуль для запуска мпм-итк .
Это позволяет каждому VirtualHost работать со своим собственным идентификатором пользователя и идентификатором группы.
Таким образом, благодаря описанным выше операциям мы получаем безопасную изолированную среду для каждого клиента.
В то же время мы также решаем проблемы масштабирования виртуального хостинга.
Как реализована комбинация Apache и Nginx, можно прочитать в первая часть наша статья.
Кроме того, там же описана альтернативная конфигурация по схеме Dedicated. Если у вас есть вопросы к нашим специалистам, пишите в комментариях.
На все мы постараемся ответить или более подробно описать решение проблемы в следующих статьях.
Теги: #Хостинг #Системное администрирование #php #веб-сервер
-
Еще Одна Статья О Кэшировании Веб-Трафика
19 Oct, 24 -
Виртуальные Ключи К Реальному Миру
19 Oct, 24 -
Ванневар Буш: Как Мы Можем Думать. Часть 2
19 Oct, 24