Настройка и работа в Linux
adb5321d

Виртуальный HTTP-сервер


Концепция виртуальных хостов позволяет Apache поддерживать несколько Web-узлов. Получается, что один Web-сервер заменяет несколько и пользователи видят отдельные Web-узлы. Это очень удобно, если нужно организовать персональные Web-узлы пользователей или собственные Web-узлы подразделений компании, например develop.mycompany.com

Apache можно настроить несколькими способами: чтобы запускался один сервер, который будет прослушивать ВСЕ обращения к виртуальным серверам, или запускать отдельный процесс для каждого виртуального сервера. В первом случае один сервер будет одновременно обслуживать все виртуальные. Если вас интересует такой вариант, нужно настраивать виртуальные сервера с помощью директивы VirtualHost. Настройка отдельных процессов для каждого сервера осуществляется с помощью директивы Listen и BindAddress.

В статье я буду рассматривать именно первый случай. Внутри блока директивы VirtualHost можно использовать любые директивы, кроме ServerType, BindAddress, Listen, NameVirtualHost, ServerRoot, TypesConfig, PidFile, MinRequestPerChild, MaxSpareServers, MinSpareServers, так как некоторые из них относятся к основному HTTP-серверу (например, ServerType), а некоторые - ко второму варианту настройки виртуальных серверов и здесь неприемлемы. Обязательно должны присутствовать директивы ServerName, DocumentRoot, ServerAdmin и ErrorLog

В зависимости от версии и от настроек Apache виртуальные узлы могут прописываться или в файле httpd.conf или в файле vhosts.conf

Виртуальные сервера можно идентифицировать по имени или по IP-адресу.



Содержание раздела