Веб-система

Материал из DiPHOST.Ru wiki system

(Различия между версиями)
Перейти к: навигация, поиск
(Внутренний уровень. apache)
(Внутренний уровень. apache)
Строка 21: Строка 21:
=== Внутренний уровень. apache ===
=== Внутренний уровень. apache ===
-
Для внутреннего уровня веб-системы выбран веб-сервер [http://httpd.apache.org apache]. Веб-сервер apache является самым популярным в мире веб-сервером, обслуживающим сайты. К нему существует множество расширений, позволяющих исполнять программы на различных языках программирования, применять различные технологии для создания содержимого сайтов.
+
Для внутреннего уровня веб-системы выбран веб-сервер [http://httpd.apache.org apache]. Веб-сервер apache является самым популярным в мире веб-сервером, обслуживающим сайты. К нему существует множество расширений, позволяющих исполнять программы на различных языках программирования, применять различные технологии для создания содержимого сайтов. Некоторые из предоставляемых технологий (например, приложения на языке Python) не хуже, а иногда возможно и лучше, предоставлялись бы с использованием иных веб-серверов. Но мы выбрали apache, ввиду стандартности конфигурирования и возможности частично конфигурировать его пользователем самостоятельно через файл .htaccess.
Для каждой поддерживаемой технологии (точнее, для пары технология/версия) запускается свой веб-сервер apache для каждого системного аккаунта с его привилегиями, один экземпляр на все сайты аккаунта с заявленной технологией.  
Для каждой поддерживаемой технологии (точнее, для пары технология/версия) запускается свой веб-сервер apache для каждого системного аккаунта с его привилегиями, один экземпляр на все сайты аккаунта с заявленной технологией.  
Строка 35: Строка 35:
Выполнение CGI-программ обеспечивается только веб-серверам, настроенными для работы с PHP (при этом CGI-программы могут быть на любом другом поддерживаемом языке).  
Выполнение CGI-программ обеспечивается только веб-серверам, настроенными для работы с PHP (при этом CGI-программы могут быть на любом другом поддерживаемом языке).  
-
Работа приложений на языке Python обеспечивается модулем [http://modwsgi.org/ mod_wsgi] для веб-сервера apache в режиме "демона". Для каждой версии Python на каждом аккаунте запускается свой сервер с модулем для этой версии. Невозможно работать с Python разных версий в рамках одного сайта. Apache запускается в режиме worker (обработчик - один процесс и множество тредов), поскольку обработка приложений осуществляется отдельными процессами, запускаемыми модулем mod_wsgi. Ограничения в [[VirtSpec|спецификации]] относятся к обработчикам приложения, а не к самому веб-серверу apache.
+
Работа приложений на языке Python обеспечивается модулем [http://modwsgi.org/ mod_wsgi] для веб-сервера apache в режиме "демона". Для каждой версии Python на каждом аккаунте запускается свой сервер с модулем для этой версии. Невозможно работать с Python разных версий в рамках одного сайта. Apache запускается в режиме worker (обработчик - один процесс и множество тредов), поскольку обработка приложений осуществляется отдельными процессами, запускаемыми модулем mod_wsgi. Максимальное количество "нитей" apache несколько выше, чем обработчиков приложения. Ограничения в [[VirtSpec|спецификации]] относятся к обработчикам приложения, а не к самому веб-серверу apache.
Число обработчиков каждого веб-сервера является постоянным и зависит от выбранного тарифа, определяемые в [[VirtSpec|спецификации виртуальной площадки]].
Число обработчиков каждого веб-сервера является постоянным и зависит от выбранного тарифа, определяемые в [[VirtSpec|спецификации виртуальной площадки]].

Версия 09:59, 26 апреля 2012

Веб-система хостинга состоит из двухуровневой системы веб-серверов. Внешний уровень принимает запросы из сети, пересылает его на внутренний уровень, читает ответ и отдаёт его в сеть. Такая схема позволяет разгрузить внутренний уровень за счёт его независимости от скорости сегментов сети Интернет и гибко управлять внутренним уровнем системы, распределяя запросы извне к веб-серверам внутреннего уровня с различной, иногда несовместимой между собой, функциональностью.

Содержание

Внешний уровень. nginx

Для внешнего уровня веб-системы выбран веб-сервер nginx. Веб-сервер nginx очень производительный, не требовательный к ресурсам и позволяет создавать гибкие конфигурации, хотя и не обладает возможностью исполнять скрипты на php, perl, python и прочих языках.

На внешнем уровне выполняются следующие задачи:

  • приём запросов по протоколу HTTP из сети;
  • приём запросов по протоколу HTTPS из сети, обеспечение установки SSL-соединения;
  • борьба с DDoS, обработка аварийных ситуаций;
  • выбор сервера внутреннего уровня;
  • передача пришедших запросов на внутренний уровень без кеширования (т.е. передаются абсолютно все запросы) по протоколу HTTP;
  • чтение ответов и передача их без кеширования (т.е. всегда отдаётся ответ внутреннего уровня, не сохраняется никаких копий) в сеть.

Для каждого сайта создаётся отдельная конфигурация в nginx, что позволяет направлять запросы из сети к выделенному вплоть до сайта веб-серверу внутреннего уровня. Также предусмотрена возможность применять уникальные конфигурации для каждого сайта по запросу в службу поддержки. Возможность создавать уникальные конфигурации позволяет обеспечивать SSL-доступ к сайтам.

Внутренний уровень. apache

Для внутреннего уровня веб-системы выбран веб-сервер apache. Веб-сервер apache является самым популярным в мире веб-сервером, обслуживающим сайты. К нему существует множество расширений, позволяющих исполнять программы на различных языках программирования, применять различные технологии для создания содержимого сайтов. Некоторые из предоставляемых технологий (например, приложения на языке Python) не хуже, а иногда возможно и лучше, предоставлялись бы с использованием иных веб-серверов. Но мы выбрали apache, ввиду стандартности конфигурирования и возможности частично конфигурировать его пользователем самостоятельно через файл .htaccess.

Для каждой поддерживаемой технологии (точнее, для пары технология/версия) запускается свой веб-сервер apache для каждого системного аккаунта с его привилегиями, один экземпляр на все сайты аккаунта с заявленной технологией.

Поддерживаются следующие технологии и их версии:

  • PHP версий 5.2 и 5.3, для версии PHP 5.2 возможен режим с ZendOptimizer, выключенный по умолчанию, для серверов с PHP также поддерживается и запуск CGI-скриптов;
  • WSGI для Python версий 2.5, 2.6, 2.7 и 3.1.

Т.е. если у пользователя хостинга есть сайт на php 5.2 закодированный ZendOptimizer, есть три сайта на php 5.3 и есть тестовый WSGI-сайт на python 2.7, то будет запущено три выделенных apache для обработки вышеперечисленных пяти сайтов аккаунта.

Выполнение скриптов PHP всех версий обеспечивается стандартным модулем php для веб-сервера apache. Для каждой версии PHP на каждом аккаунте запускается свой сервер с модулем для этой версии. Невозможно работать с PHP разных версий в рамках одного сайта. Для включения или отключения ZendOptimizer используется два разных php.ini, выбор которых делается при запуске веб-сервера. Apache запускается в режиме preforked (обработчики - отдельные процессы).

Выполнение CGI-программ обеспечивается только веб-серверам, настроенными для работы с PHP (при этом CGI-программы могут быть на любом другом поддерживаемом языке).

Работа приложений на языке Python обеспечивается модулем mod_wsgi для веб-сервера apache в режиме "демона". Для каждой версии Python на каждом аккаунте запускается свой сервер с модулем для этой версии. Невозможно работать с Python разных версий в рамках одного сайта. Apache запускается в режиме worker (обработчик - один процесс и множество тредов), поскольку обработка приложений осуществляется отдельными процессами, запускаемыми модулем mod_wsgi. Максимальное количество "нитей" apache несколько выше, чем обработчиков приложения. Ограничения в спецификации относятся к обработчикам приложения, а не к самому веб-серверу apache.

Число обработчиков каждого веб-сервера является постоянным и зависит от выбранного тарифа, определяемые в спецификации виртуальной площадки.

Контроль нагрузки

Безопасность

Источник — «https://wiki.diphost.ru/WebSystem»

Категория:

Личные инструменты
© 2006 — ООО «Дремучий лес»
Служба техподдержки: support@diphost.ru
Тексты этого сайта являются полностью оригинальными
или оригинальными компиляциями ООО «Дремучий Лес».
Распространяются по лицензии WTFPL
Отзывы о хостинге diphost.ru Отзывы на hostobzor.ru