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毫秒