Автор: Голышев С.В. (glsv)
e-mail: glsv@yandex.ru
В статье описывается работа с модулем Apache mod_vhost_alias. Данный модуль предназначен для уменьшения трудоемкости создания и поддержки большого количества виртуальных хостов на сервере Apache. Модуль организует динамическое создание виртуальных хостов на основе запрошенного доменного имени и не требует внесения изменений в конфигурационные файлы сервера при создании новых виртуальных хостов.
При большом числе виртуальных хостов (десятки и сотни) время запуска и перезагрузки веб-сервера занимает значительное время, в течение которого он недоступен посетителям. Такая ситуация является критической для хост-провайдеров и серверов на которых расположены популярные сайты. Уменьшить время запуска сервера и упростить работу c большим количеством виртуальных хостов может модуль Apache с названием mod_vhost_alias.
Данный модуль позволяет не создавать отдельный контейнер для каждого виртуального хоста, а динамически формирует пути к директориям сайтов на основе запрошенных доменных имен или IP-адресов. Для создания сотен виртуальных хостов модуль mod_vhost_alias использует всего 4 директивы, с помощью которых определяются правила формирования путей к директориям сайтов. 2 из них предназначены для работы с виртуальными хостами на основе имен и 2 для работы с виртуальными хостами на основе IP-адресов.
- VirtualDocumentRoot – определение директории DocumentRoot на основе запрошенного доменного имени.
- VirtualScriptAlias – определение директории для CGI-скриптов на основе запрошенного доменного имени.
- VirtualDocumentRootIP– определение директории DocumentRoot на основе запрошенного IP-адреса.
- VirtualScriptAliasIP– определение директории для CGI-скриптов на основе запрошенного IP-адреса.
В директивах модуля могут использоваться следующие параметры:
- %% – символ %
- %p – номер запрошенного порта
- %N.M – имя хоста или часть имени, определяемая значениями N и M.
Параметр N определяет часть имени хоста, которое следует использовать. Параметр M определяет номер используемого символа из части N. Ниже показаны возможные значения параметра N и примеры на основе доменного имени www.st-host.ru.
Разбиение имен хостов на части происходит по символу точки слева направо. Т.е. для имени www.st-host.ru первой частью будет являться – www, а последней – ru.