毕业设计(论文)Web服务器的构建.doc
目 录第一章 前言21.1 Web系统21.2 Web服务架构31.2.1 Web服务架构中的角色31.2.2 Web服务协议栈的组成41.2.3重要的结构模型41.2.3.1面向消息的模型41.2.3.2面向服务的模型71.2.3.3面向资源的模型91.2.3.4面向规则的模型91.2.3.5面向管理的模型101.2.4支持Web服务的技术体系101.2.4.1 XML与Web服务101.2.4.2 SOAP与Web服务101.2.4.3 WSDL与Web服务10第二章Web网站的发布与管理10第三章Web服务器的配置11第四章 Web软件的选择12第五章 IIS的安装配置与管理19第六章 网站的建设25Web服务器的构建张 讯数学与信息学院信息管理与信息系统2004级 指导教师:池莹摘要:本文简单介绍了Web服务器的服务构架、组成、结构模型及支持Web的技术体系,望就Web网站的发布与管理,通过对Web服务器的配置,Web软件的选择,IIS的安装配置与管理,网站的建设等来完成Web服务器的构建。关键词:HTTP;标准协议;Web服务器Construction of the Web serverZhangxunMathematics and Information Institute of Information Management and Information System 2004 guidance of teachers: Chi-yingAbstract: This paper briefly introduced the Web server service framework, composition, structure model of Web technology and support system, look on the Web site of the release and management, through the Web server configuration, Web software of choice, IIS installation and configuration Management, the construction site to complete the construction of Web servers.Key words: HTTP; standard protocol; Web server第一章 前言1.1 Web系统目前的Web系统和Web服务架构是SOA的典型实例,Web系统巨大而稳定的特点与它的结构特点有关。Web系统通过资源,代理,XML等方式实现了它的基本结构。资源与URI 在Web系统中所有重要的资源都被要求定义一个标识符,这些标识符成为URI,通过URI可以链接到或者查找出一个资源,这是Web系统用户使用Web系统的基础保障,这里的URI可能是一个网站的地址,一个电子邮件的链接,新闻组或者是FTP站点等,利用URI可以获取各种类型的资源。Web代理 Web代理为每个请求提供所需的资源,根据请求的信息来选择资源返回给请求这个资源的代理,Web代理还可以处理一个安全控制和资源缓冲的功能,都是为更好的实现提供资源的服务。用户代理 用户代理实现了通过URI找到资源的能力,用户的使用都要通过代理来实现,用户代理是系统中的重要工具,借助用户代理各种表现形式被转化为用户可以理解的形式,如HTML, CSS, RDF, XML等。Web方法 通过一些Web方法,可以执行各种类型的资源操作,如:get, post put, delete等,方法的种类是有限的,但却可以实现各种各样的应用,简化的web方法类型,使Web系统比较简单却很强大。数据格式 在Web系统中存在着多种数据的格式,符合格式的数据可以被代理的理解和解释,数据通过例如MIME的格式被组织起来形成符合特定规范的数据,在Web系统中传递,包括表现形式,文字,声音,图像等。XML基础 Web上的表现方式是以XML为基础的形式,符合和不安全符合XML规范的数据用于描述资源的形式,对在Web系统中充分的使用,这使得Web系统可以兼容不同的实现方式,广泛的被利用和实现。1.2 Web服务架构Web服务架构5( Web服务Architecture,简称WSA)是由W3C的Web服务架构工作组(Web服务Architecture Working Group)正在开发过程中的Web服务架构标准。Web服务架构描述了Web服务标准的基本架构,是Web服务系列标准的核心,在Web服务架构中规定了Web服务的基本思想,Web服务实现体系的基本结构模型。1.2.1 Web服务架构中的角色WSA标准定义了什么是Web服务,Web服务应该具有什么,组成Web服务的各种基本感念,在Web服务中充当着不同的角色。代理和服务 服务是一组功能操作,由服务代理负责实现。Web服务系统的工作方式要求通过代理来实现服务,通过代理来请求和提供服务。但是服务的实现并不依赖与某个代理,服务可以经常更换代理,但是服务本身却没有变化。请求者和提供者 服务建立之后,由服务的提供者负责提供服务,服务的请求者可以向提供者发出请求来获取服务,这个请求和提供的过程需要在服务代理和请求代理之间通过消息系统进行信息交互,以完成整个服务的过程。服务的描述服务的描述是Web服务的一个接口,它定义了消息的格式,数据的类型和传输协议等内容,通过服务的描述使服务的请求者了解关于服务的信息,以便于调用服务。1.2.2 Web服务协议栈的组成目前WAS将Web服务协议划分为几个层次,层次之间的关系如下图所示:图1-1 Web服务协议栈 不同的标准和协议在Web服务架构中起到不同的作用,结合在一起构成了整个Web服务技术标准的协议栈。1.2.3重要的结构模型WSA为Web服务系统规定了5种比较重要的结构模型,下面将介绍这5种结构类型,重点介绍面向消息的模型和面向服务的模型。1.2.3.1面向消息的模型 面向消息的模型(Message Oriented Model,简称MOM),规定了在整个Web服务架构中关于消息的内容。MOM描述的重点是消息的内容,消息之间的关系,消息发送者和接收者之间的关系以及其他与消息有关的处理过程。消息的概念 Web服务是一个松散藕合的架构,在这个架构中存在的每个服务都是分布式的存在于若干个提供服务的系统中的,但是这些服务仍然需要信息交换,更普遍的一种情况是服务请求者向服务提供者提出对某个服务的请求的过程,所有类似的交互过程需要一种手段来完成,在Web服务架构中实现这一手段的方式就是消息,围绕有关消息的内容建立的模型就是MOM,即面向消息的模型。因此,消息就是Web服务架构中的信息交互层,消息这一层的内容抽象于具体的通信协议或面向通信的中间件系统,例如,通过Java消息中间件为基础可以实现MOM,利用HTTP的请求和响应也可以实现MOM, MOM与具体的实现机制无关。组成面向消息模型的元素面向消息的模型(Message Oriented Model,简称MOM)是由一组概念组成的,这些概念是组成MOM的必要元素。(1)消息的相关性 如果要使一个MOM的系统中的消息可以被规范地组织起来,那么维护消息的相关性是很重要的,相关性是指消息和Web服务上下文之间的关联,例如,依靠相关性,我们来判断收到的一个响应消息是前面发出的某个请求消息的响应,从而把这两个消息联系起来。所以相关性是MOM中的一个要素。(2)消息中介一个消息除了拥有一个消息的发送者,一个消息的接收者,之外还可能在交换过程中存在一个中介,这个中介对象既是消息的发送者,也是消息的接收者,在整个消息路径中起到转发的作用,消息中介使在消息路径中添加一些附加处理过程成为可能,例如可以利用消息中介来实现安全控制。(3)消息 消息是软件代理之间一次信息交互的数据单元,它描述了发送者和接收者之间所传递的数据的结构。一个消息由消息头,消息信封和消息数据组成。消息头中的内容是要用来扩展Web服务的应用的,通过在消息头中添加一些字段可以扩展Web服务的功能,例如把安全认证的信息放在消息头中可以使Web服务具备认证的功能,消息信封中包含了一些传递消息时需要的信息,如接收者的地址。消息数据是消息所要传递的数据,在这个可以直接包含需要传递的数据,也可以只包含一个指向实际数据的URI。实现消息的方式很多,每种方式都可以实现消息,但是支持的功能特性不同。最简单的实现方式是使用HTTP的GET请求方式,此时消息头由HTTP报头来实现,数据内容可以包含在URL内的参数中,但是HTTP的报头无法被Web服务利用来扩展其功能。另一种简单的方式是直接传送XML数据,但这种方式也无法支持Web服务的功能扩展。SOAP实现的方式比前两者要复杂一点,SOAP提供了对头信息和SOAP信封的支持,借助SOAP的信息头部分,可以支持Web服务的功能扩展。(4)消息信封消息信封确实就如同装着消息内容的信封一样,信封上面包含地址信息,消息传输者就依靠这个消息信封上的地址信息,将消息送达指定的地址,而且对于消息传输者来说它只需要消息信封上的信息就足够了。消息信封的另外一个作用就是消息内容封装这一层次上提供一些扩展的功能,例如将消息内容进行加密操作,可以在消息信封这个层次内完成。(5)消息交换模式 消息交换模式是软件代理之间传递消息的模式,它与应用之间的通信内容无关,只是定义那些支撑消息交换的通用方式,消息交换模式与通讯协议无关,但是必须与一种协议相互绑定,以soap方式的消息系统为例,消息模式定义了soap在消息的请求和响应过程中的交换模式。(6)消息头消息头的内容,在前面已经提到过,消息头为Web服务通过头信息进行功能的扩展提供了支持。(7)消息描述语言 消息描述语言可以用来描述发送者发送的消息,接收者需要接收的消息,主要描述消息的结构,使交互信息的双方可以规范化消息格式。(8)消息标识 消息标识是一个消息的唯一标识,每个消息都需要有一个唯一的消息标识。(9)消息路径 消息路径是从消息的发送者开始到消息的预定接收者之间的软件代理序列。消息路径表达了处理一个消息经过的顺序,同时也包括那些在消息路径上的消息中介。(10)消息接收者 消息接收者是接收消息的软件代理。一个消息可以有多个消息接收者,发送者在发送消息时也不需要了解所有的接收者的情况。(11)消息发送者 消息发送者是发送消息的软件代理。消息被发送后,在消息路径上的软件代理都会收到这个消息。(12)消息传输 消息传输机制是消息实际传输的机制,通常建立在已有的一些传输机制之上,如HTTP,SOAP, RMI等。(13)可靠的消息 消息的可靠性是面向消息的模型的一种特性,消息的可靠性直接影响Web服务的可靠性。面向消息的模型结构面向消息模型的整体结构可以由下图所示:图1-2面向消息模型的结构面向消息模型中的各个元素之间的关系构成了面向消息模型的基本结构,各个元素通过相互之间的配合形成了面向消息模型的体系结构,从这个结构中可以看出Web服务消息模型的工作模式。1.2.3.2面向服务的模型 面向服务的模型(Service Oriented Mode1,SOM)的主要目的是描述软件代理与其所提供和请求的服务之间的关系。Web服务是面向服务(SOA)的架构,服务的概念在Web服务中很重要,SOM提供了针对服务描述,服务调用,服务任务,服务动作等内容的抽象描述。面向服务的模型(Service Oriented Mode1,SOM)在Web服务架构中并不是孤立的,它是建立在面向消息的模型(Message Oriented Model,简称MOM)基础之上的。不管是提供服务还是请求服务都离不开消息的交换,SOM不关心消息层的内容,而是完全借助MOM来实现它的消息的需要。面向服务模型中的服务 面向服务模型中的服务对于服务提供者和请求者是一些操作的集合,面向服务的模型建立了以服务为中心的交换体系。组成面向服务模型的元素 面向服务的模型(Service Oriented Mode1,SOM)也是由一组概念组成的,这些概念的组合构成了SOM的结构。(1)动作 动作是SOM中的重要概念,动作是由软件代理执行的一个过程.例如,发送一个消息,接收一个消息等。对于服务的提供者来说,执行一个动作实际上是运行一段,SOM不关心动作如何具体执行,而只是在抽象的层次上来定义动作的模式。(2)代理 代理是一个软件程序,它来执行人们需要的行为。例如,在互联网上代理帮助用来检索互联网上的信息。(3)服务场景 一个服务场景定义了旨在完成某项功能的相互协作的Web服务之间交互信息的顺序和条件。一个软件代理需要遵循某个服务场景的顺序才能达到它需要的目的。(4)服务场景描述语言服务场景描述语言是用来描述一个特定服务场景的语言,这种语言是程序之间可以相互交流的规范化的语言。(5)服务 服务对于服务提供者和请求者来说是一组动作。一个服务包含一些与之相关联的任务,而且每个服务都有一个标识符,这个标识符是一个URI。服务可以被请求者请求,由提供者负责提供,请求者和提供者之间依靠服务接口来交换信息。(6)服务描述服务描述是描述服务接口的一些文档,例如,一个完备的XML文档就可以作为一个服务描述。(7)服务末端 一个服务的末端是实现这个服务的服务接口的网络地址。(8)服务接口 一个服务接口中描述了这个服务所发送和接收的消息,服务接口由服务末端提供实现。(9)服务操作 服务操作定义了调用服务的每个任务时发送和接收的消息。(10)服务提供者 服务提供者是一个代理,这个代理执行与服务有关的动作,一个服务可以由多个代理所提供,反过来一个服务提供者也可以提供多个服务。(11)服务请求者 一个服务请求者负责向一个服务提供者请求一个服务。(12)服务语义一个服务的语义是服务提供者和服务请求者之间的约定。语义与服务中封装的任务有关。(13)服务任务服务任务是与一个服务相关的事务单元,服务任务由一个服务目的和一个动作组成,目的用来描述任务会达到的目的效果,动作描述了达到这个目的的处理过程。面向服务模型的结构面向服务模型中的各个元素之间的关系如下图所示:图1-3面向服务模型的结构 面向服务模型中的各个元素之间的关系构成了面向服务模型的基本结构,各个元素通过相互之间的配合形成了面向服务模型的体系结构。1.2.3.3面向资源的模型WSA中定义了面向资源的模型,这个模型从资源的角度描述了Web服务的结构。在WSA中只要拥有一个描述符的定义,就可以称之为一个资源。WSA为资源提供了定义和使用的模型,代理可以通过PUT, GET, DELETE等操作来改变资源的状态,资源也可以通过一些表现方式显示出来,同时资源也可以被描述和发现。1.2.3.4面向规则的模型WSA中定义了面向规则的模型,规则是对代理行为的约束,在WSA中通过控制规则实现对代理的某些行为的允许和禁止。规则模型的建立为Web服务的安全控制提供了基础。WSA中定义了面向规则的模型,规则是对代理行为的约束,在WSA中通过控制规则实现对代理的某些行为的允许和禁止。规则模型的建立为Web服务的安全控制提供了基础。1.2.3.5面向管理的模型WAS中还定义了面向管理的模型,管理模型的建立是为了对Web服务资源进行有效的管理,为开发者提供了在分布式系统中管理Web服务的方法。1.2.4支持Web服务的技术体系目前Web服务技术体系的实现主要依靠以XML,SOAP, WSDL等技术为基础的一系列标准,这些标准在不同的方面支持了Web服务的架构实现。1.2.4.1 XML与Web服务XML是Web服务技术体系中最基础的标准,Web服务的一切都建立在XML技术的基础之上,包括Web服务的消息,描述,服务实现的各个环节。XML是Web服务实现跨实现结构方式的基础,利用XML Web服务的服务提供者和请求者可以利用不同的开发语言协作完成服务调用的过程。XML是Web服务技术体系中的很多标准建立的基础。1.2.4.2 SOAP与Web服务SOAP是简单对象访问协议,它的出现为Web服务提供了一种实现的方式,目前已经得到广泛的应用,而且基于SOAP的许多扩展标准正在逐渐完善,以SOAP为基础的Web服务技术体系正在不断的扩大。1.2.4.3 WSDL与Web服务 WSDL是与soap相结合使用的Web服务描述语言,通过WSDL可以描述一个服务的信息。这些信息使不了解这个服务的开发者可以建立调用这个服务的客户端代码,或者通过WSDL帮助生成实现它的基本代码结构。WSDL在Web服务的实际开发过程中起着重要的作用。第二章Web网站的发布与管理21Web网站的发布211首先我们谈谈Web网站的发布,对于web网站的发布首先我们要选择用于发布web网站的服务器。如果是JSP的网站我们可以选择Tomcat、Weblogic等服务器。建议选用简单免费的Tomcat服务器。212首先安装Tomcat服务器,安装完成后,在Eclipse里面发布我们的网站,然后打开tomcat服务,在浏览器里面输入http:/127.0.0.1:8000如果是ASP或者.net的网站,建议选用Microsoft的IIS服务器。首先我们在Windows操作系统的控制面板中找到“添加删除程序”,安装IIS服务器。安装完毕后,在控制面板的管理工具中找到Inter信息管理,就是IIS。把我们的asp网站根目录拷贝到wwwroot目录下,在IIS点击发布按钮。然后我们就可以在浏览器中访问我们的网站了,http:/127.0.0.122Web网站的管理利用tomcat管理web网站。首先从浏览器进入tomcat服务器,输入http:/127.0.0.1:8000 选在Admin选项,选择想要管理的站点,就可以对站点进行管理操作。如果是IIS服务器,首先我们进入IIS服务器,选择想要管理的站点,就可以对站点进行管理操作。第三章Web服务器的配置31如何安装IIS(其中包含多个服务程序,本文只介绍Web Server) 准备一张Windows Server 2003的安装盘,然后将盘插入光盘驱动器. 如图打开控制面板的"添加或删除程序",然后点击"添加/删除Windows组件". 依次选取"应用程序服务器"->"Internet信息服务".此时使用默认的组件,并同时选择ASP.net组件. PDF 文件使用 "pdfFactory" 试用版本创建,点击确定等待安装结束. 32配置WEB服务器 在安装结束以后将会在管理工具中多增加"Internet信息服务(IIS)管理器". 选择此项配置服务器. 可自行配置Web站点的名称等.系统默认目录为C:Inetpubwwwroot,如果有特殊情况可自行更改. PDF 文件使用 "pdfFactory" 试用版本创建 打开站点属性进行详细配置: 网站标签: 描述:WEB站点的名称描述. IP地址:服务器的网络地址. TCP端口:服务器的连接端口,如果没有什么特别情况,就尽量不要改变. PDF 文件使用 "pdfFactory" 试用版本创建 SSL端口:进行"要求安全通道"的安全认证端口. 连接超时:即进行客户连接的最大不应时间(有点俗话). 保持http:连接:如果为了服务器资源的资源不够可不选择此项. 启动日志:即对连接的目标客户进行的记录(如请求,回应,IP). 活动日志格式:可根据实际情况选择. 高级按钮: 可对单个服务器进行多个Ip地址的设置. 性能标签: PDF 文件使用 "pdfFactory" 试用版本创建,此选项可根据用户的服务器硬件及网络环境进行合理配置.如果此站点的访问量大而系统资源又紧张,可进行带宽限制;如果服务器在网络流量按照数据多少进行收费,而手头又太紧,就可以根据实际情况进行连接限制. ISAPI筛选器标签: 此功能是对要求安全较高的服务器进行响应的数据进行过滤或者不响应等. 因为在响应的数据包中能够很清楚的看出服务器的类型.(telnet上后用Get或者Post看看) 现在这种DLL很多,可自行查找. PDF 文件使用 "pdfFactory" 试用版本创建,主目录标签: 很明显这是一个目录路径或权限设置的面板.对与一般用户建议不要更改. PDF 文件使用 "pdfFactory" 试用版本创建 文档标签: 此面板是对默认起始文档(包括目录)和文档页脚的设置(如果你需要打广告或者宣传) 如果你的起始页为xxx.html或者xxx.asp可在如图点击"添加"按钮添加: PDF 文件使用 "pdfFactory" 试用版本创建 自定义错误标签: 此面板是对错误请求进行回应的设置,如果为了安全可全部删除,不进行任何回应.建议全部删除 PDF 文件使用 "pdfFactory" 试用版本创建 http头标签: 对用户进行"后退"或"前进"访问"安全"文档的过期设置. PDF 文件使用 "pdfFactory" 试用版本创建 目录安全性标签: PDF 文件使用 "pdfFactory" 试用版本创建 n,身份验证和访问控制: 建议不更改,除非进行特殊文档的访问. IP 地址和域名限制: 进行IP地址或者IP端的访问进行控制. 例:我们要屏蔽192.168.0.2 PDF 文件使用 "pdfFactory" 试用版本创建 安全通信:非高级用户不要更改. 3.3. 测试服务器 随便写一个index.html文档放入服务器目录.默认为:C:Inetpubwwwroot. 在IE中输入IP. 如果分有目录可使用: IP/Dir/例子: PDF 文件使用 "pdfFactory" 试用版本创建,如果显示了你的页面,那么你的服务器就配置成功了! PDF 文件使用 "pdfFactory" 试用版本创建 第四章 Web软件的选择4.1 Apache Apache仍然是最伟大的全能选手,也许它有些过于庞大、历史悠久,但是其优秀的性能和大量用户群,它应该会有更好的发展。就它灵活性和丰富的特性功能而言,Apache相对于这里测试的其他Web服务器来说可以说是Web服务器的标准。除非你的在过去的四年里与这个世界相隔离,否则一定会看到大量的新闻文章欢呼Apache的成功,并将其作为开放源码成功的典范。Apache并不是采用GPL版权声明,而是采用自己的Apache Server版权声明,其强调自由地使用源代码。Apache同样以"补丁服务器"而闻名,主要是因为早期Apache的开发是通过对NCSA的httpd代码添加补丁程序来进行的。Apache被看做是"补丁服务器"还因为它具有模块化特性,该特性实现了Apache的灵活性和可扩展性,而且开发者可以利用该特性很容易地添加第三方功能模块,通过模块开发人员可以添加任何功能,模块是很多内容管理系统的功能基础,如Midgard,Zope等。 几乎所有的Linux发布都安装Apache作为默认配置。SuSE 7.1甚至预安装有包括各种高级模块选项的Apache,如PHP3,mod_perl和LDAP等等。用户会惊奇地发现系统安装成功就会有一个功能强大的Web服务器可供选择。虽然安装Apache并不是非常简单,但是如果有具有新的特性或安全补丁的Apache发布,则下载源代码包并编译新的Apache是值得的。Apache不但具有庞大的用户群基础,并且有丰富的配置使用文档。 Apache的主配置文件为纯文本格式的httpd.conf,随着Apache版本的发展,其他一些配置文件则逐渐消亡,趋向于使用单一的配置文件httpd.conf来存放所有的配置指令,如客户访问信息、记录认证信息和虚拟服务器等等。Apache配置选项采用的是指令模式,配置指令设定各种参数的值,例如:DocumentRoot设置服务器Web页面的根目录。你也可以灵活地设置多个基于IP或基于域名的虚拟Web服务器,这些Web虚拟服务器可以各自定义独立的DocumentRoot配置指令。而LoadModule指令则用来指定加载不同的模块来实现对Apache服务器功能的扩充。这些新功能大多是提供服务器端对脚本技术的支持,比如Perl、PHP等。Apache结合使用ApacheJServ可以实现对Java servlets及JSP的支持。 Apache的很多模块实现安全方面的防护:如mod_auth提供对对服务器上数据进行适当的保护,而SSL模块则用来保护服务器和客户端之间的通信安全。 对于大多数用户来说,手工编辑冗长的httpd.conf文件显得枯燥且易出错。幸运的是Redhat中的Linuxconf和Webmin都提供了非常完善的Apache配置模版。Aapche的GUI项目同样提供了Comanche和Mohawk来实现对Apache图形方式配置和管理。这些工具都大大减少了管理和配置Apache的难度,但是对httpd.conf一定理解对于配置高性能服务器来说是非常重要的。 很多地方都声明Apache并不是最快的Web服务器,Apache的开发者的确是没有过多地考虑其开发一个超快的Web服务器。而功能和稳定性则是考虑更多的因素。然而Apache在很多负载很大的站点中运行非常正常,并没有得到过多的关于性能的抱怨。在我们使用Webstone进行性能测试中,发现Apache的吞吐量位居第一,并且出错最少。在测试中虽然Apache的可扩展性不知最强,但是仍然是提供了如此多特性的服务器中速度最快的。 4.2 Zeus Webserver3.3.8 服务器 Zeus是一个商业化的Web服务器产品,最近它成为很多业界媒体中的头条新闻,因为有消息宣称Zeus服务器的性能在2.4内核SMP环境下相对于2.2.x内核环境下性能提升了85%之多。速度永远是Zeus服务器的卖点。常常有评论说如果希望对Linux进行其作为服务器操作系统的性能测试,那么就运行Zeus进行测试。 Zeus服务器在SMP环境下有优秀的可伸缩性,并实现了常见的特性集合,如访问控制、动态内容产生和安全等。它具有健壮、集成有集群支持的容错和负载平衡等特色,是高端应用的很好的选择。 Zeus服务器的安装和管理相对比较简单。软件是以tar.gz格式的包格式,安装软件只需要解压软件包并运行一个安装脚本,在性能适当的机器上安装过程只需要几分钟。而且Zeus服务器安装以后提供Web方式的远程管理功能。 对Zeus的管理分为两个部分:管理配置部分包含对管理服务器本身的配置和访问;而Web配置部分则包含对Web服务器的各方面特性的设置,从虚拟服务器设置到集群系统的管理及监控等等方面。默认情况下即使Zeus仅仅运行一个服务器,其也被看做是一个虚拟服务器。和Apache一样,多个虚拟服务器可以运行在同一台服务器上,同样虚拟服务器可以是"硬"(基于IP)或"软"(基于域名)虚拟服务器。 管理服务器的GUI界面非常易于使用,可以轻易生成复杂的多虚拟服务器的配置。使用GUI,不同虚拟服务器的设置可以相互克隆,可以建立集群系统,可以实现类似.htaccess的模块化配置。监控工具非常不错,具有对每个虚拟服务器和独立的集群节点的动态监控。 其功能可以与Apache匹敌,包含易于实现的SSL安全特性和其他有用的特性,如带宽控制等等。Zeus宣称支持PHP和Java Servlets。虽然易于使用的管理界面在某种程度上模糊了这些高级的配置特性。PHP4可以通过Zeus支持的API方式(NSAPI)来运行,也可以通过CGI发给你是来运行。但是很多用户报告这种API方式存在稳定性问题。 高端应用服务器的性能总是难以精确的测试,在负载相对较小情况下进行的测试,尽管很难给出在超负荷情况下服务器的运行情况,仍然具有一定的实用价值。在我们的测试中,Zeus在服务器的吞吐量和响应时间上性能卓越,和Apache一样它出错的概率也很少。Zeus具有其它服务器所不具有的漂亮简洁的GUI配置界面。据报道,Zeus在四个处理器的Linux系统下运行性能良好。要建立高性能的Zeus服务器,相对其它服务器Zeus显得略为有点繁琐。 4.3 iPlanet Enterprise Edition 4.1 Netscape公司为不同操作系统平台开发了多种WEB服务器,但到最近它才发布了自己在Linux下的产品。曾经非常流行的Netscape Enterprise Server现今被运行在Linux下的同类产品iPlanet Enterprise Edition所替代。iPlanet是SUN、Netscape和AOL公司联合生产的WEB产品,它被力图设计成高性能、跨平台的e-commerce产品。iPlanet和其它Netscape产品一样具有很高的性能,而且iPlanet具有SUN公司Java的特性。 iPlanet可以自由下载评估版使用,也可以购买正式版本。因为在压缩包中包含Java的运行环境JRE,所以iPlanet的压缩包相对较大。压缩包被解压后,一个基于shell的简单安装工具可以帮助用户完成Administration服务器和Web服务器的安装。所有关于安装的信息都在这个时候输入,当然你也可以选择安装的选项,如选择安装Java组件或者LDAP目录,以便以后利用LDAP管理用户和组。 就像现今流行的那样,iPlanet也允许以浏览器方式管理和配置。Administration服务器提供了全面的管理和监测功能,利用它可以重新配置Administration服务器和Web服务器。在集群节点iPlanet服务器环境中,可以在一个Administration服务器中利用群集数据库管理它们。 iPlanet的多层菜单结构体现了iPlanet丰富的功能,利用菜单选项可以实现WEB服务器的所有管理。iPlanet具有非常有用的在线帮助文档和完整的SSL加密机制,这些特性保证用户登陆和现场检测的安全性。iPlanet允许配置基于IP和名字的虚拟服务器。 现在WEB服务器和WEB应用程序服务器之间的界限变得越来越模糊,iPlanet象其它专业WEB服务器一样也支持JAVA API,以便提高自己的性能。Enterprise Edition 4.1本身内置JRE,可以和大多数的数据库互联,它也支持JSP 1.1的API、Serverlets 2.2的API和Livewire。它拥有功能强大的软件包,其功能远远超过了动态脚本语言。Enterprise Edition 4.1同时也支持传统的脚本方式,如CGI、NSAPI,因而可以没有任何问题、方便的从其它产品迁移到iPlanet。 iPlanet具有现今高性能WEB服务器的特性,相对其它WEB服务器iPlanet还提供更多的JAVA功能。在WebStone环境中测试,iPlanet的性能非常良好。虽然iPlanet有时会因服务器端未能响应客户端的请求而在客户端产生许多错误,但是它的吞吐量和响应时间性能卓越。作为一个昂贵的WEB服务器产品,希望能看到以WebStone作为测试基准的更多的测试结果。如果你在寻找能够运行标准Java API,并且在Java API环境下运行速度良好的WEB服务器产品,iPlanet当是你的首选 4.4 AOLserver 3.3.1 AOLserver是一个多线程、可升级和扩展的WEB服务器。AOLserver服务器使用简单而且功能强大的Tcl作为其内嵌式的脚本语言和服务器端的API。就像名字所表明的那样,AOLserver在AOL公司的在线服务中得到了广泛应用,随着AOL公司本身的发展,AOLserver也增添了更多的特性,其速度也得到了显著提高。和其它大公司一样,AOL公司也公布了AOLserver的所有源代码。该源代码遵循AOL公司自己的AOLserver版权声明,同时AOL公司也从此种开放式开发模型中获益。 AOLserver的研究始于1994年,当时它作为完整的WEB发布系统的一部分进行开发。在该WEB发布系统中内嵌了WEB服务器的WYSIWYG网页编辑器,该网页编辑器强调内容变化的便利性和内容更新的快捷性。恰如早期的HTML和WWW网一样,WEB发布系统被设计成一个完整的网页编辑系统。随着时间的推移,AOL公司的网页编辑器已经不复存在,但是由于Tcl脚本语言的出现和它对动态网页的支持,AOLserver却生存了下来。 和Apache相比,AOLserver也支持源代码公开、性能也非常优异,它们都可以通过模块方式添加新的功能,但是AOLserver却支持Tcl语言,而且以不同的方式和数据库互连。AOLserver可以连接和使用后台的关系型数据库(RDBMS),例如Oracle,PostgreSQL等。AOLserver在UNIX系统中作为单个进程运行,从而使得Web服务器可以共享数据库连接,进而使得运行在AOLserver中的脚本语言拥有更高的速度。AOLserver的脚本语言也可以通过一个抽象层同时访问许多数据库管理系统。 AOLserver可以免费从AOL的官方网址或者它的开发站点Sourceforge下载。只要把AOLserver的压缩包解压,就可以非常简单的使用gmake编译和安装AOLserver服务器、可选模块、Tcl库、工具软件及其响应文档。用户可以使用config.tcl配置AOLserver的环境。用户也可以如Apache那样,安装和管理权限控制、CGI、SSL和数据库连接等模块。刚开始的时候,用户可能无法完全清楚、正确的安装和设置"软"(基于域名)虚拟服务器。AOLserver的文档非常完整详细,但是有点略微繁琐。它包括了安装、配置的方方面面和Tcl API的详细说明。但是AOLserver并不支持基于HTTP 1.1的软虚拟服务器。 用户可以在远程利用类似Tclsh的模块管理AOLserver,该模块运行在系统的指定端口。一旦运行该模块,通过Telnet方式连接、管理AOLserver或者利用监控模块执行Tcl命令都是很简单的事情了。 在许多测试环境下,AOLserver的表现并不能令人满意。在WebStone环境测试AOLserver,会出现许多错误,还有相当多的客户无法连接到AOLserver服务器。虽然以上的问题会使人认为AOLserver的性能很差,但是在负载相对较小情况下进行的测试结果并不能完全令人信服。 我们不能据此就认为AOLserver不值得一用,因为利用WebStone无法测试数据库的连接速度等其它参数,因而以上的