apache 虚拟主机配置

  使用 apache 配置的虚拟主机分为两种,一种是基于 IP 的虚拟主机,另一种是基于主机名 (域名) 的虚拟主机。基于主机名的虚拟主机的配置相对简单,同时也是两种虚拟主机中相对常用的一种。

apache 虚拟主机配置的流程:

  1. 指定服务器 IP
  2. 取消中心主机
  3. 添加<VirtualHost> 定义块

  配置基于域名的虚拟主机,首先要在 httpd.conf 配置文件中指定服务器的 IP 地址(和端口),使用 "NameVirtualHost IP:端口" 条目进行配置

  然后取消中心主机,即将原有的主机配置写入虚拟主机的定义块中。

  <VirtualHost> 定义块的内容可以包含大部分服务器配置,但其中必须的配置条目只有 DocumentRoot 和 ServerName,为了方便管理,通常还会指定错误日志 (Errorlog) 的存放位置。

  以下是一个根据上述流程编写的 httpd.conf 配置文件示例

……
ServerName website.com:80
……
DocumentRoot /var/www/website.com/
……

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName website.com
    DocumentRoot /var/www/website.com
    Errorlog "logs/website.com-error.log"
</VirtualHost>

<VirtualHost *:80>
    ServerName website2.com
    DocumentRoot /var/www/website2.com
    Errorlog "logs/website2.com-error.log"
</VirtualHost>

  在这个配置文件中,首先使用 NameVirtualHost 条目指定了主机的 IP 和 端口 (即启用基于主机名的虚拟主机),然后建立第一个虚拟主机定义块,其中的配置就是中心主机的配置,这么做的意义在于将默认主机转成虚拟主机。

  第二个虚拟主机定义块添加了一个新的主机 website2.com,如果还需要添加新的虚拟主机,只需要再添加相应的定义块就行了。


付费阅读