Apache虚拟主机的配置

来自CloudWiki
跳转至: 导航搜索

Apache虚拟主机的配置

虚拟主机能够实现用一个Web服务器设置多个Web站点的功能。从而实现多用户对硬件资源和网络资源的共享,大幅度降低用户建立网站的成本。

虚拟主机技术使得每一台虚拟主机都具有独立的域名和IP地址,并具有完整的Web服务器功能。各个虚拟主机之间是完全独立的,从外界来看,虚拟主机和独立主机的表现是完全一样的。


在配置虚拟主机时,需使用<VirtualHost>语句,该语句必须成对出现。<VirtualHost>和</VirtualHost>语句之间封装了设置虚拟主机属性的语句,大部分的配置语句都在<VirtualHost>和</VirtualHost>语句之间,与配置独立的Web服务器类似。


配置基于IP的虚拟主机

基于IP的虚拟主机的服务器绑定多个IP,然后通过配置Apache,把多个网站绑定在不同的IP上,用户访问服务器上不同的IP,就可看到不同的网站。

配置基于IP的虚拟主机有两种方法:一种是IP地址相同,但端口号不同;另一种是端口号相同,但IP地址不同。


配置基于域名的虚拟主机

基于域名的虚拟主机服务器只需有一个IP地址即可创建多台虚拟主机,所有的虚拟主机共享同一个IP地址,各虚拟主机之间通过域名进行区分。此时需要在DNS服务器中添加域名与IP地址的映射关系。

假设服务器的IP地址为192.168.18.100,要配置的虚拟主机是www.sdcet.cn和www.sdu.edu.cn,在DNS中应有www.sdcet.cn和www.sdu.edu.cn域名与IP地址192.168.18.100的映射关系。

1)配置DNS

在DNS服务器中建立两个主机地址A资源记录,将这两个记录解析到同一个IP地址上,即192.168.18.100。

2)在Apache服务器的主配置文件httpd.conf中,添加以下语句:

	NameVirtualHost  192.168.18.100   		//必须指定哪个IP地址
	<VirtualHost  www.sdcet.cn>
		ServerName  		www. sdcet.cn:80
		ServerAdmin  	admin@sdcet.cn
		DocumentRoot    “/var/www/web1”
		DirectoryIndex  	index.html
	</VirtualHost>
	<VirtualHost  www.sdu.edu.cn>
		ServerName  		www.sdu.edu.cn:80
		ServerAdmin  		admin@sdu.edu.cn
		DocumentRoot   	 “/var/www/web2”
		DirectoryIndex  	index.html
	</VirtualHost>


(3)创建基于域名的虚拟主机时,必须先用NameVirtualHost指令指定哪个IP地址负责响应对虚拟主机的请求,然后用<VirtualHost 虚拟主机名>来指明这台虚拟主机使用哪个域名。

(4)配置服务器IP地址。

(5)重启httpd服务,即可实现基于域名的虚拟主机配置。

返回 Linux基础