Apache虚拟主机配置
虚拟主机的几种实现方法
虚拟主机有许多方法来实现,比如多IP,多域名,多端口等。这里主要将多域名和多端口的实现步骤。
第一种:多端口的实现
#监听的端口号,如果想一个IP地址多端口控制访问的话必须填写端口
Listen 81
Listen 82
#端口81的虚拟主机
<VirtualHost *:81>
DocumentRoot "Webroot/port01"
</VirtualHost>
#端口82的虚拟主机
<VirtualHost *:82>
DocumentRoot "Webroot/port02"
</VirtualHost>
第二种:多域名的实现
NameVirtualHost *:80
#域名www.domain01.com的虚拟主机
<VirtualHost *:80>
DocumentRoot "Webroot/domain01"
ServerName www.domain01.com
</VirtualHost>
#域名www.domain02.com的虚拟主机
<VirtualHost *:80>
DocumentRoot "Webroot/domain02"
ServerName www.domain02.com
</VirtualHost>
如何使虚拟主机生效
第一种:使扩展文件httpd-vhosts.conf生效:
1. 打开 apache/conf/httpd.conf 文件
2. 找到 # Include conf/extra/httpd-vhosts.conf
3. 去掉前面的注释符#号
4. 打开 apache/conf/extra/httpd-vhosts.conf
5. 添加以上的多端口或多域名代码(这里以多域名为例):
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "Webroot/domain01"
ServerName www.domain01.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "Webroot/domain02"
ServerName www.domain02.com
</VirtualHost>
第二种:另类的办法
1. 在conf目录中建立vhosts目录,并建立两个文件,分别为host1.com和host2.com
2. 在 apache/conf/httpd.conf 适当的位置添加下面两行代码
NameVirtualHost *:80
Include conf/vhosts
3. 修改 host1.com 文件
<VirtualHost *:80>
DocumentRoot "Webroot/domain01"
ServerName www.domain01.com
</VirtualHost>
4. 修改 host2.com 文件
<VirtualHost *:80>
DocumentRoot "Webroot/domain02"
ServerName www.domain02.com
</VirtualHost>
关于虚拟主机的扩展属性
ServerAdmin webmaster@admin.com //管理员邮箱,当出现域名相关的错误时则会发送到此邮箱
DocumentRoot "/Webroot/host" //网站文档所在位置,可以是绝对位置
ServerName www.host.com //绑定域名
ServerAlias www.host.com //CNAME别名
ErrorLog logs/host.com-error_log //错误日志
CustomLog logs/host.com-access_log common //访问日志
#虚拟主机目录的访问权限
<Directory "/Webroot/host">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>