Software 版 (精华区)
发信人: checcy (老巴夺), 信区: Software
标 题: 建立虚拟WWW服务器
发信站: 哈工大紫丁香 (Fri Apr 10 01:06:49 1998), 转信
建立虚拟WWW服务器
钟耀荣 梁慧冬
介绍虚拟WWW服务器
采用虚拟服务器,我们可以在一台主机上,通过把每
一个虚拟服务器的根目录和该主机的不同子目录对应起来
,从而实现一台主机上有多个server,提供多种服务。
在分析如何建立虚拟WWW服务器以前,我们先来看看
实现虚拟服务器的三种方式。第一种是Port-base方式。
如果我们已经在一台主机上安装了一个server,还要在同
一台主机上安装另一个同类型server,可以选择另外一个po
rt口。例如:在一台机器上已安装了一个http server: h
ttp://10.0.0.1(缺省http port为80),此时可以在同一
IP主机的port口上安装另一个http server:http://10.0
.0.1:81。Port-base方式要求client端必须清楚地知道
自己请求的server和主机的哪个port连接。第二种是IP-b
ase方式。这种方式为一台主机分配一组IP,每一个IP对
应一台虚拟服务器。对于访问server的人而言,虚拟服务
器的存在是透明的,完全可以和以前一样通过IP访问serve
r,区别只是不同的IP访问的是同一主机上的不同虚拟服
务器而已。但由于IP-base方式仍须为每一个虚拟服务器
提供一个IP,即建立虚拟服务器的数量受IP数量所限,因
此IP不足仍没有很好解决。第三种是name-base方式。nam
e-base方式打破了传统的一个IP对应一个hostname的模
式。只要为主机分配一个IP,而为该主机上的每个虚拟服
务器分配一个DomainName,客户端即可通过不同的DomainNa
me访问同一主机上的不同虚拟服务器。Name-base方式消
除了IP不足的缺陷,建立虚 拟服务器的数量将不再受
限制。因此,name-base方式是三种方式中最好的,越来
越多的人采用这种方式建立虚拟服务器。
所有Web Server都可以实现Port-Base方式,但由于
其缺点使很多人都不喜欢采用。现在多趋向于使用后两种
方式。在Unix中,能实现IP-Base方式的有Linux和Apach
e,而能同时实现IP-Base和Name-Base方式的只有Apach
e。本文仅以Apache Web Server为例进行说明。
Unix环境下的设置
1、Apache与其它Web Server的区别
Apache与其它Web Server最大的区别是:一般的Web
Server只支持HTTP1.0,而Apache支持HTTP1.0和HTTP1.1(
HTTP1.1支持name-base方式而HTTP1.0不支持)。当客户
(client)的浏览器提交了域名后,client会到相应的DN
S中查域名解释表,找到该域名对应的IP地址并根据该IP
地址访问相应的服务器。对name-base服务器的请求将被
转换为相同的IP Address 信息,域名信息会因此而丢失。
HTTP1.1协议的作法是:把域名信息放在一个闲置的字段
上(数据报头或数据报尾);即使域名被转换为IP,域名
信息还能保存下来。
2、在Apache中是如何进行设置的
在Apache中我们要修改的文件主要是httpd.conf(或
srm.conf),在该文件中我们只要加上相应的语句即可(
该文件原来的内容不用改变)。在这里,我们先假设在网
上合法申请到两个域名:123.com、234.com,使用的IP地
址是10.240.9.30、10.240.9.31;在IP-Base Vhost设置中
将让这两个域名(IP)同时对应同一台机器;在Name-Bas
e Vhost设置中将以123.com(10.240.9.30)为例,自定
义多个域名类似***.123.com,而IP均为10.240.9.30的
虚拟服务器,只要123.com是合法申请到的,这些域名都可
在网上使用。
1)实现IP-Base Vhost(即按IP-Base方式建立相
应的虚拟服务器)
……
Port 80
ServerName 123.com
#地址缺省时(如http://localhost,http://127.0.
0.1)服务器域名采用
#123.com
ServerAdmin zyr@123.com
DocumentRoot /www/a
Servername 123.com
…
ServerAdmin zyr@234.com
DocumentRoot /www/lv
Servername 234.com
…
进行了上述的设置后,我们就可以通过地址http://1
0.240.9.30
(或http://123.com)访问/www/a下的文件;通过地
址http://10.240.9.31
(或http://234.com)访问/www/lv下的文件了。
2)实现Name-Base Vhost(即按Name-Base方式建
立相应的虚拟服务器)
……
Port 80
ServerName 123.com
#地址缺省时(如http://localhost,http://127.0.
0.1)服务器域名采用
#123.com
DocumentRoot /www/a
#地址缺省时(如http://localhost,http://127.0.
0.1)Web Server根目录为
#/www/a
NameVirtualHost 10.240.9.30
ServerAdmin zyr@aaa.123.com
DocumentRoot /www/lv
ServerName aaa.123.com
…
通过上述的设置,我们就可以通过http://aaa.123.c
om访问/www/lv下的文件(用户可自行设置多个虚拟服务
器,只要形式类似***.123.com即可)。如果采用http:
//123.com或http://10.240.9.30进行访问,将会访问到/
www/a下的文件。设置完成后,需reboot一次机器设置才
生效。
下面列出一些常用参数的含义:
Port 表示以下地址采用的端口号(Port)
ServerName 服务器域名
ServerAdmin 该虚拟服务器系统管理员的邮箱地
址
DocumentRoot 该虚拟服务器的根目录
ErrorLog 出错事件登记的地方
TransferLog 传输访问时访问事件登记的地方
该虚拟服务器开始进行设置
该虚拟服务器设置结束
NameVirtualHost 以下Name-Base Vhost的IP地址
如果你想下载Apache软件或希望对此作更多的了解,
可访问以下站点或地址:
http://202.96.151.200/zyr/ http://www.Apache.
org/
http://www.freebsd.com/
返回主页
--
Chengyan Che - Software Freelancer, Harbin, P.R.China
-----------------------------------------------------------
Do you need a software developer for your project or just
for your killer money-making idea? Drop me a line and let
me know how I can help you out!
mailto:checcy@public.hr.hl.cn
ICQ:5116726
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: checcy@public.hr.hl.]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.503毫秒