教你如何在apache下配置多个虚拟主机

很多朋友在本地做网站测试的时候,由于不会apache下配置多个虚拟主机 ,想测试多个网站就比较麻烦。今天我将之前配置的代码放出来,供大家学习。

测试配置环境

OS:winxp sp3
apache:Apache 2.2.10 for win

配置前,说明一下,下面所用到的127段ip为回播地址,即是说现在有127.0.0.0 – 127.255.255.255的独立ip,只可本地使用

同时,修改host文件(win:C:\WINDOWS\system32\drivers\etc),用来模拟域名的指向,指向的地址都是127段开头的,不要弄错!

所有配置都是在apache目录下的conf/httpd.conf中修改

虚拟主机配置方式有三种,以下分别配置

第一种,基于多个ip的虚拟主机。顾名思义,就是对每个虚拟目录分配一个ip

涉及修改:

1)端口监听,三种方式配置都应该要用到,想想都明白!!不多说

Listen 80

2)一个虚拟主机配置段

 DocumentRoot "虚拟主机目录相对地址或绝对地址"
 ServerName ip地址或域名

完整例子

 #监听端口设置
Listen 80
#第一个虚拟主机
DocumentRoot "D:\wwwroot"
ServerName 127.0.0.1:80
#第二个虚拟主机
DocumentRoot "D:wwwroot2"
ServerName www.iiwnet.com

注:第二个虚拟主机增加了一个模拟的域名ww.iiwnet.com,需要修改host,增加一条指向127.0.0.2 www.iiwnet.com

第二种,基于相同ip不同端口的虚拟主机

涉及修改

1)端口监听,因为是多端口需要设置多个端口,根据你的虚拟主机决定

Listen 80
Listen 8080

2)一个虚拟主机配置段

DocumentRoot "虚拟主机目录相对地址或绝对地址"
ServerName ip地址或域名

完整例子

#监听端口设置
Listen 80
Listen 8080
#第一个虚拟主机
DocumentRoot "D:\wwwroot"
ServerName 127.0.0.1:80
#第二个虚拟主机
DocumentRoot "D:wwwroot2"
ServerName www.iiwnet.com

注:第二个虚拟主机增加了一个模拟的域名www.iiwnet.com,需要修改host,增加一条指向127.0.0.2 www.niutw.com

第三种,基于相同ip和相同端口不同域名的虚拟主机,即基于域名的虚拟主机(这个用得比较多)

涉及修改:

1)端口监听

1 Listen 80

2)这个参数是基于域名虚拟主机必要设置,否则无法解释域名。官方文档解释是为一个基于域名的虚拟主机指定一个IP地址(和端口)

#这里修改为你获得的ip地址
NameVirtualHost 127.0.0.1:80

3)一个虚拟主机配置段

DocumentRoot "虚拟主机目录相对地址或绝对地址"
ServerName 域名

完整例子

#监听端口设置
Listen 80
#域名虚拟主机
NameVirtualHost 127.0.0.1:80
#第一个虚拟主机
DocumentRoot "D:\wwwroot"
ServerName www.iiwnet.com
#第二个虚拟主机
DocumentRoot "D:wwwroot2"
ServerName www.niutw.com

注:host修改ww.iiwnet.com和www.niutw.com都指向127.0.0.1
好了,就差不多这么多了,有不懂的给我留言,我会尽自己最大的努力去帮助你。收工!

更多:PHP教程

你可能感兴趣的:(php教程)