Apache支持两种虚拟主机,一种是基于IP地址的,一种是基于域名的。
基于IP地址的虚拟机现在使用的很少,它需要一台服务器需要拥有多个IP地址。基于域名的虚拟主机要求服务器有一个IP地址就可以了,只需要将不同的域名解析到同一个IP地址就可以实现一台服务器提供多个服务。
最简单的基于域名的虚拟主机配置只需要四项就够了,第一项就是通过<VirtualHost>指出这个服务响应(接收)对那一个IP地址的请求,一般都会写成*,这样的话,只要是发往服务器的请求这个服务都可以接收的到。除了可以指定IP地址以外,还可以以冒号隔开在后面指定一个监听的端口号。如:<VirtualHost
*:80>。
第二项是用ServerName可以指出这个服务的域名,如:ServerName www.xuwq.org。只要客户端的链接地址是www.xuwq.org,这个服务就会做出响应。
第三项是用DocumentRoot指出这个服务的根目录,比如我的网站的根目录在/var/www/html/,就可以写成DocumentRoot /var/www/html/。
这最后一项就是</VirtualHost>,它说明这个虚拟机配置完毕。
完整的写法如下:
<VirtualHost *:80>
ServerName www.xuwq.org
DocumentRoot /var/www/html/
</VirtualHost>