在昨天的博客中,主要介绍了了apache的配置文件,在这个配置文件中,我们主要介绍了apache中的配置文件中的主要参数,其中有一段关于虚拟主机的参数我们没有说到,特意的将这段指令拿到今天来说。
所谓虚机主机:就是将一个web服务器做成多个站点来使用,一个apache服务来服务多个不同的站点。其实通俗的理解就是把一个web服务器当作多个web服务器的意思。
虚拟主机的类型:
1、基于ip的虚拟主机
例如:ip1:80
ip2:80
基于ip的虚拟主机ip地址不通,端口号(80)是相同的。
由于ipv4地址紧缺,因此一般不使用这是方式来构建虚拟主机
2、基于端口的虚拟主机
例如:ip:80
ip:8080
这种方式的虚拟主机,ip地址是相同的,但是端口号是不同的。一般的我们常说的web服务器的端口号是80,所以当你使用另一个端口号时,这会导致可能很多人不知道,因此也无法访问你的web服务器,一般的在互联网上这种方式也不常用。
3、基于域名的虚拟主机
例如 ip:80
ServerName:www.a.com
ip:80
ServerName:www.b.net
基于域名的虚拟主机,ip地址和80端口是一样的,唯一不一样的是ServerName主机名不一样。使用基于域名的虚拟主机,该主机名必须能够被DNS解析的到,否侧会出错。所以要么修改本地的hosts文件,要么假设一台DNS服务器。在这里我直接修改本地的hosts文件,添加几条映射关系即可。这种方式的虚拟主机是使用最多的。
在搭建虚拟主机时需要注意的事项:
1、由于虚拟主机和物理主机(中心主机)不能同时生效,因此在搭建虚拟主机时,需要注销物理主机(中心主机),即在/etc/httpd/conf/httpd.conf文件中将DocumentRoot这一行注释掉即可。
2、启用虚拟主机,即apache配置文件中的NameVirtualHost *:80这一行
虚拟主机的定义
虚拟主机的定义使用
<VirtualHost ip:port>
这里面可以存放多个参数或者指令,形式与定义<Directory></Directory>一样
</VirtualHost>
URL的定义
在apache的配置文件还有这样的一个容器
<Location /server-info>
SetHandler server-info
Order deny,allow
Deny from all
Allow from .example.com
</Location>
这个容器是用来定义URL,在<Directory></Directory>这个容器中,定义的是本地路径,记住URL和本地路径不是一码事,只是写法上相同罢了。