Apache虚拟主机配置

使用虚拟主机首先要在httpd.conf里把虚拟主机配置文件的包含路径前的#去掉,就可以用extra/httpd-vhost.conf配置虚拟主机了。否则要在httpd.conf这个主配置文件里写虚拟主机的信息,这样是很不好的,还是应该要把虚拟主机放在extra/httpd-vhost.conf的好

基于名字的虚拟主机

1、在虚拟主机配置问价里设置NameVirtualHost相相应的IP和端口号(以后凡是映射到该IP的访问都会使用基于名字的虚拟机)

2、在容器内设置ServerName等信息用来匹配唯一的域名

基于IP的虚拟机

基于IP的虚拟主机可以支持那些不支持HTTP/1.1主机技术的浏览器,虽然现在这些不支持HTTP/1.1的浏览器已经绝种了。另外由于基于名字的虚拟主机不支持SSL,基于IP的虚拟还可以解决这个问题。

基于IP的虚拟主机

由于服务器上的物理接口数量通常都是有限的,我们可以用虚拟的网络接口来处理虚拟主机,这也被称为建立网络别名,虚拟的IP就可以给基于IP的虚拟主机用了。Linux下的做法:

查看eth0的配置:ifconfig eth0

在eth0接口的基础上建立一个名为eth0:0的虚拟网络接口:ifconfig eht0:0 192.168.132.7 netmask 255.255.255.0 up

查看新建立的eth0:0网络接口:ifconfig eth0:0

需要注意的是新建立的虚拟网络接口所使用的硬件MAC地址和原有的网络接口硬件地址是一样的。

只要保证上面的IP不同即可,另外要保证这里的IP:port和NameVirtualHost里的一样。

动态虚拟主机

使用vhost_alias_module模块建立动态虚拟主机

UseCanonicalName off

VirtualDocumentRoot /srv/www/vhost/%1

这样的话,访问dafanzi.com时。其根目录就在/src/www/vhost/dafanzi/下了

注意这里的UseCanoicalName一定要用off。当用off时,就由用户提供的主机名与端口信息建立自引用URl.。当用on时,就会用ServerName这个域名建立自引用URL、SERVER_NAME、CGI中的服务器端口

使用rewrite_module模块建立大量的虚拟主机

……

你可能感兴趣的:(Apache虚拟主机配置)