Автор: Голышев С.В. (glsv) В статье описывается работа с модулем Apache mod_vhost_alias. Данный модуль предназначен для уменьшения трудоемкости создания и поддержки большого количества виртуальных хостов на сервере Apache. Модуль организует динамическое создание виртуальных хостов на основе запрошенного доменного имени и не требует внесения изменений в конфигурационные файлы сервера при создании новых виртуальных хостов. При большом числе виртуальных хостов (десятки и сотни) время запуска и перезагрузки веб-сервера занимает значительное время, в течение которого он недоступен посетителям. Такая ситуация является критической для хост-провайдеров и серверов на которых расположены популярные сайты. Уменьшить время запуска сервера и упростить работу c большим количеством виртуальных хостов может модуль Apache с названием mod_vhost_alias. Данный модуль позволяет не создавать отдельный контейнер
В директивах модуля могут использоваться следующие параметры:
Параметр N определяет часть имени хоста, которое следует использовать. Параметр M определяет номер используемого символа из части N. Ниже показаны возможные значения параметра N и примеры на основе доменного имени www.st-host.ru. Разбиение имен хостов на части происходит по символу точки слева направо. Т.е. для имени www.st-host.ru первой частью будет являться - www, а последней - ru.
Рассмотрим применение данных параметров на примере директивы VirtualDocumentRoot.
При запросе по адресу http://www.st-host.ru директива VirtualDocumentRoot сгенерирует путь к файлу на основе запрошенного имени хоста и Apache будет искать файл на диске по адресу /www/st-host/htdocs/index.php Параметр M определяет номер используемого символа в параметре N. При положительном значении M отсчитывается с левой стороны строки, при отрицательном – с правой стороны.
Ниже приведены примеры директивы VirtualDocumentRoot и сгенерированные пути для запроса http://www.st-host.ru/.
Если на сервере используется большое количество виртуальных хостов, то директории хранения сайтов удобно распределять по именам доменов первого уровня (ru, com, net, org и т.п.). При размещении нескольких сотен сайтов их можно распределять по папкам, имена которых соответствуют первым символам доменных имен. Недостатки модуля mod_vhost_aliasУдобный способ создания виртуальных хостов с помощью модуля mod_vhost_alias не лишен ряда недостатков.
Индивидуальная настройка виртуальных хостов, созданных mod_vhost_aliasМодуль mod_vhost_alias не имеет средств индивидуальной настройки виртуальных хостов и вследствие этого конфигурации всех виртуальных хостов, созданных модулем, получаются одинаковыми. При необходимости индивидуального конфигурирования виртуальных хостов применяется контейнер Рассмотрим пример. Необходимо произвести уникальную настройку сайта www.mega-site.ru. При этом для создания виртуальных хостов используется модуль mod_vhost_alias со следующими директивами.
Согласно директиве VirtualDocumentRoot файлы сайта www.mega-site.ru должны храниться в директории /www/ru/mega-site/htdocs. Для того чтобы настроить работу Apache для этой директории необходимо в файле httpd.conf создать следующие директивы.
Внутри контейнера ПримечаниеЧастичное конфигурирование виртуальных хостов можно производить также через файлы .htaccess, размещаемые непосредственно в директории сайта. |
понедельник, 14 апреля 2008 г.
Массовый хостинг с помощью mod_vhost_alias
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий