Apache 2.0手册中文版翻译项目 [本文译者: biAji * ]

项目说明 | 项目进度 | 项目讨论区 | Apache手册中文版

 


Apache基于IP地址的虚拟主机支持 - Apache HTTP服务器
<-
Apache主站 > HTTP服务器 > 文档 > 2.0版本 > 虚拟主机

Apache基于IP地址的虚拟主机支持

参见

top

系统需求

就像它的名字基于IP所暗示的那样,这样的服务器中每个基于IP的虚拟主机必须拥有不同的IP地址。您可以用真实的物理网络链接来达到这一需求,或者使用虚拟界面——几乎现在流行的操作系统都提供这样的支持(详情请参见您的系统文档,这种功能一般被称作“IP别名”,而一般用“ifconfig”命令来进行设置)。

top

如何配置Apache

有两种配置方法来使apache支持多主机:每个主机名用不同的httpd守护进程来运行;或者用一个守护进程来支持所有的虚拟主机。

出现以下情况时用多个守护进程

以下情况可以使用单一守护进程:

top

设置多个守护进程

为每个虚拟主机创建不同的httpd安装。每次安装都在配置文件中使用Listen指令以选择守护进程伺服的IP地址(或虚拟主机)。比如:

Listen www.smallco.com:80

建议您使用IP地址来取代域名(理由请参见DNS caveats)。

top

配置拥有多个虚拟主机的单一守护进程

在这种情况下,单一的httpd将伺服所有对主服务器和虚拟主机的请求。而配置文件中的 VirtualHost指令将为每个虚拟主机配置不同的ServerAdminServerNameDocumentRootErrorLogTransferLogCustomLog。例如:

<VirtualHost www.smallco.com>
ServerAdmin webmaster@mail.smallco.com
DocumentRoot /groups/smallco/www
ServerName www.smallco.com
ErrorLog /groups/smallco/logs/error_log
TransferLog /groups/smallco/logs/access_log
</VirtualHost>

<VirtualHost www.baygroup.org>
ServerAdmin webmaster@mail.baygroup.org
DocumentRoot /groups/baygroup/www
ServerName www.baygroup.org
ErrorLog /groups/baygroup/logs/error_log
TransferLog /groups/baygroup/logs/access_log
</VirtualHost>

我们建议您使用IP地址以取代域名(理由请参见DNS caveats)。

除了创建进程的指令和其他一些指令外,几乎所有的配置指令都能用于VirtualHost指令中。您可以使用指令索引上下文中查询一个指令是否可以用于VirtualHost指令。

如果使用了suEXEC wrapper,那么UserGroup也可以在VirtualHost指令中使用。

安全警示:当指定日志文件时,请记住有安全风险。一些别有用心的人会在那个目录拥有写权限。请参见安全方面的提示一文获取详情。

 


项目维护者: kajaa [本文译者: biAji * ]

项目说明 | 项目进度 | 项目讨论区 | Apache手册中文版