日期:2014-05-16  浏览次数:20887 次

Apache虚拟主机站点的配置参数讲解

Apache虚拟主机的配置可分为三种:基于端口、基于ip和基于域名的虚拟主机。下面我们分别做个简单介绍。
我们以Windows平台下的httpd-2.2.21-win32-x86-no_ssl.msi 版本为例。

一、基于端口的虚拟主机设置
1、修改监听端口
打开Apache配置文件httpd.conf,添加要使用的监听端口
如:
????????Listen?80
????????Listen?81
????????Listen?82
以上设置的含义为监听80、81、82这几个端口(注意不能和其它软件的端口有冲突)。
2、更改虚拟主机设置:
打开Apache配置文件httpd.conf,查找 Include conf/extra/httpd-vhosts.conf,将前面的#号去掉。
修改虚拟主机配置文件 Apache/Conf/extra/httpd-vhosts.conf,清除或注释掉原先所有内容,放置下面内容
???????<VirtualHost?*:80>
???????????DocumentRoot?"d:/WAMP/WWW"
???????</VirtualHost>
???????<VirtualHost?*:81>
???????????DocumentRoot?"d:/WAMP/test1"
???????</VirtualHost>
???????<VirtualHost?*:82>
???????????DocumentRoot?"d:/WAMP/test2"
???????</VirtualHost>
3、测试:
打开浏览器分别输入 http://localhost、http://localhost:81、http://localhost:82 可访问不同网站

二、基于IP的虚拟主机设置
基于 IP 的虚拟主机是指为每个 Web 站点配置不同的 IP 地址。通常用于有多块物理网卡,或者配置了多个虚拟 IP 的 Web 服务器。
一个网卡绑定多个IP地址,打开“控制面板”->“网络连接”->“本地连接”->“点右键属性”->从“常规”选项卡中找到“Internet 协议(TCP/IP)“->"点击属性”->点下面的“高级”按钮,在高级中的“IP设置-IP地址” 栏下点“添加”按钮,输入你想绑定的IP地址即可。如果之前本地连接IP地址是 192.168.1.2,那么继续添加 192.168.1.3、192.168.1.4、192.168.1.5 等等。用这些IP区分不同的虚拟主机。
我们这里不一一绑定了,因为所有127开头的都会指向本机,如 127.0.0.1?~ 127.0.0.255 等等。所以我们用这些地址做测试。这些地址只能本机访问。
1、指定监听端口
打开Apache配置文件httpd.conf,指定监听端口
如:
????????Listen?80
以上设置的含义为监听80端口
2、更改虚拟主机设置:
打开Apache配置文件httpd.conf,查找 Include conf/extra/httpd-vhosts.conf,将前面的#号去掉。
修改虚拟主机配置文件 Apache/Conf/extra/httpd-vhosts.conf,清除或注释掉原先所有内容,放置下面内容
??????<VirtualHost?127.0.0.1:80>
?????????DocumentRoot?"d:/WAMP/WWW"
?????????ServerName?127.0.0.1:80
??????</VirtualHost>
??????<VirtualHost?127.0.0.2:80>
????????DocumentRoot?"d:/WAMP/test1"
????????ServerName?127.0.0.2:80
??????</VirtualHost>
??????<VirtualHost?127.0.0.3:80>
?????????DocumentRoot?"d:/WAMP/test2"
?????????ServerName?127.0.0.3:80
??????</VirtualHost>
3、测试:
打开浏览器分别输入 http://127.0.0.1、http://127.0.0.2、http://127.0.0.3 可访问不同网站

三、基于域名的虚拟主机设置
1、修改hosts文件
以Windows 2003为例,在C:\WINDOWS\system32\drivers\etc 下有个hosts文件。
这个hosts的作用就是将一些常用的网址域名与其对应的IP地址建立关联,当用户在浏览器中输入一个网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。
打开hosts文件,一般已有“127.0.0.1 ? ? ? localhost” ,添加你要增加的域名,如下:
???????127.0.0.1???????www.test.com
???????127.0.0.1???????www.test1.com
???????127.0.0.1???????www.test2.com
2、指定监听端口
打开Apache配置文件httpd.conf,指定监听端口
如:
????????Listen?80
以上设置的含义为监听80端口
3、更改虚拟主机设置:
打开Apache配置文件httpd.conf,查找 Include conf/extra/httpd-vhosts.conf,将前面的#号去掉。
修改虚拟主机配置文件 Apache/Conf/extra/httpd-vhosts.conf,清除或注释掉原先所有内容,放置下面内容
???????NameVirtualHost?*:80
???????<VirtualHost?*:80>
??????????DocumentRoot?"d:/WAMP/WWW"
??????????ServerName?www.test.com
???????</VirtualHost>
???????<VirtualHost?*:80>
??????????DocumentRoot?"d:/WAMP/WWW/test1"
??????????ServerName?www.test1.com
???????</VirtualHost>
???????<VirtualHost?*:80>
??????????DocumentRoot?"d:/WAMP/WWW/test2"
??????????ServerName?www.test2.com
???????</VirtualHost>
4、测试:
打开浏览器分别输入 http://www.test.com、http://www.test1.com、http://www.test2.com 可访问不同网站。

四 虚拟主机配置文件参数说明
<VirtualHost?*:*>
????ServerAdmin??????????#?管理员的E-mail地址
????DocumentRoot?????????#?虚拟主机的根目录
????ServerName???????????#?虚拟主机的名称端口
????ErrorLog?????????????#?虚拟主机的错误日志路径
????Customlog????????????#?虚拟主机的访问日志路径
</VirtualHost>