五. 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无法测试数据库的连接速度等其它参数,因而以上的测试结果仅供参考。尽管AOLserver没有简洁的安装和配置工具,但是对那些需要较快数据库响应速度的客户,还是推荐使用该类产品。
六. Roxen WebServer 2.1.31
当说到适应动态网页内容这个问题时,我们又使用了模块k化这个名词。Roxen服务器使用了一个服务器端的语言Pike,利用Pike既可以为Roxen开发全新的模块,也可以嵌入到Roxen系统中。Pike是解释性语言,语法和C语言非常相似。因为Pike是在以前写MUD游戏的语言的基础上发展起来的,因而它在安全认证方面非常出色。Pike无论从编程风格还是语法特点上都和C语言很接近,所以一个标准的C语言程序在很短的时间就可以改写成Pike程序。作为一个解释语言,Pike当然比编译性语言C的速度要慢,但是它的调试相对简单而且开发周期也很短。在Roxen服务器环境下,使用Pike语言生成动态网页内容,速度会有所提高。
在Roxen中可以使用RXML语言生成动态网页内容。RXML是函数形式的服务器端XML脚本语言,它由Roxen服务器解析并执行。Roxen使用HTML方式的标签生成动态网页,标签可以由JAVA或者Pike生成。其实在Roxen服务器环境中,几乎所有的工作都可以使用Pike完成。
安装Roxen非常的简单,只要使用下载的shell脚本就可以方便的解压所有必需的文件,并且设置管理接口和Roxen服务器本身。在安装完Java2,Orcle和Sysbase特制的脚本语言和推荐使用的内置升级系统后,Roxen的所有特点就会渐渐显露出来,同时Roxen也会安装Pike的解释器和其它工具。
就象其它的WEB服务器一样,Roxen也允许使用基于浏览器方式完成服务器配置工作。这种配置方式拥有流行的、简单的菜单系统,使用这些菜单可以设置系统的所有选项。Roxen中也有丰富的帮助文件,这些文件涵括了Roxen和Pike的方方面面。通过模板或不使用模板生成一个新的站点都可以配置"硬"(基于IP)虚拟服务器。模板就是Pike模块的基本列表,利用这些模板就可以设置Roxen的不同功能。任何站点或者服务器必须设置和运行特定的模块,并使用它们管理站点的内容。一个站点必须包括文件系统模块和目录模块。利用文件系统模块可以设置文件的根目录,目录模块则管理索引文件和目录列表。在Roxen系统中,用户可以根据需要检查每个模块的配置内容和安全性信息。
在任何Roxen站点中都可以添加带宽控制、代理、中转服务等外来模块及兼容性、数据库连接、Java、PHP4和Perl语言的支持模块。
Roxen管理服务器允许同时登陆管理和WEB服务,并对其进行全面监控。Roxen还提供SSL安全机制。对于那些习惯Apache系统的用户来说,安装Roxen可能得费些功夫。但是一旦习惯了使用Roxen-Pike,你就会觉得Roxen强大的功能也是颇令人喜欢的。
因为Roxen允许使用外置模块,所以它的性能受这些模块的影响较大。在一个运行Roxen的高端康柏Proliant服务器中连接500个客户端,CPU的资源会全被占用,这样其它任务的性能就会降低。虽然在WebStone环境的测试表明Roxen的大多数参数指标比Apache和Zeus的要低,但是Roxen的总体性能还是令人满意。那些希望把Roxen作为高负载服务器使用的用户,建议再进行相关的测试,或者选取其它的测试工具。虽然Roxen总体看起来很稳定,而且具有非常出色的Pike和令人心动的外置模块功能,但是我们仍然建议用户把Roxen看作一种有益的尝试。
七. Jigsaw
你不可能再找到象Jigsaw那样适应未来需要的WEB服务器了。它由WWW组织(W3C)开发,W3C组织负责研究和规定网络协议的标准(如HTTP)。Jigsaw 刚开始被设想成HTTP 1.1的运行环境。它使用JAVA语言开发,是成功的面向对象、功能全面的服务器。因为Jigsaw不受测试平台的限制,所以Jigsaw是一个具有活力的、拥有无限潜能的优秀WEB服务器。
Jigsaw使用JAVA作为开发语言,因而它可以方便地在所有支持JAVA的平台上运行。通过使用模块化的方法,Jigsaw具有更高的灵活度和可扩展性,可以动态的把模块加入服务中。Jigsaw利用面向对象的方法设计和开发,因而所有资源包括CGI脚本和文件都被视为对象,从此不难看出Jigsaw在未来的前景。
但是对那些具有传统知识背景的人来说,这种新型体系结构可能会使人感到迷惑。安装和运行基于JAVA的软件总是需要一定的技巧,而且运行这种便携式语言的性能仍值得怀疑。
一旦下载了必需的JDK(或者SDK)和最新的Jigsaw版本,安装Jigsaw将会非常的简单。在Jigsaw服务器中,帮助用户设置Jigsaw环境、运行服务和编译特性文件的帮助文件非常有限。但是以上的系统设置并不是很难,用户可以在几分钟完成这项工作。本地或者远程用户都可以通过浏览网页获取设置Jigsaw管理服务器的详细信息。
JigAdmin拥有友好的图形控制界面,利用它可以控制本地的Jigsaw管理服务器。JigAdmin有许多命令选项,其可控制的功能相当的复杂,用户可以利用它管理Jigsaw管理服务器和http服务器。JigAdmin使用不同的树型结构代表doc space,indexers,properties和realm等的相关内容。doc space很明显是关于JigAdmin的目录和文件结构。properties指代的是servlet和loggind等的服务特性。realm和indexers则对用户不透明。直观的理解这些资源的意义是很不现实的。即使你对面向对象结构不太熟悉,仍很有必要全面的阅读JigAdmin的文档,因为JigAdmin中的很多概念难以掌握。
JigAdmin的文档服务强调两个不同的处理阶段:索引阶段和服务阶段。索引阶段为所使用的文档生成资源,以便减轻服务阶段的压力。资源是理解Jigsaw的关键,通过资源编辑器管理资源是体现JigAdmin强大功能的关键。Jigsaw把资源作为对象和外界进行交互。这些资源可以是原始对象,例如文本或者图形文件,或者生成的对象如servelet、CGI脚本和过滤的资源等。一旦你熟悉了Jigsaw的这些核心概念后,你就感受到Jigsaw的强大功能。Jigsaw的这些特性使得它在动态脚本处理方面比其它同类产品更为出色,但其的学习过程也略为艰难。Jigsaw所有的特性和概念都来源于把万维网看作一个整体环境,而这就使得Jigsaw体现了最新的技术和标准。
和Apache和NCSA HTTPd相比,在某些情况下Jigsaw具有很好的性能。但不幸的是我们无法用WebStone去测试和评估Jigsaw的性能。即使和很少的Client机连接,运行Jigsaw的服务器就会因为过载而无法再返回测试结果。
很少有用户会把Jigsaw作为成熟的产品使用,但是通过安装和使用Jigsaw可以使我们了解HTTP-NG(下一代)的WEB服务器产品。安装Jigsaw在备用的服务器上,体验未来产品在协作环境中运行情况仍不失为一个好的方法。
八. 总结
虽然本篇文章的目的不是动摇Apache在WEB服务器市场的统治地位,但是这种改变的趋势是无法阻挡的。不幸的是Apache仍然占据了市场的大部份额,多数Linux厂商和媒介机构都推荐使用Apache产品。Apache的GUI管理工具外观看起来非常美观,但是如果使用它去管理结构复杂的站点,这对眼睛和大脑来说都是项复杂的工作。使用这些工具也意味着你不得不运行那些管理服务器中并不需要的服务。
WebStone环境的测试数据表明,在吞吐量、客户连接数和出错率方面,Apache比其它产品性能优异。
Apache和Zenus在服务器的响应时间上都非常出色,而且都为客户提供了成熟的高端解决方案,但是不可否认Zenus在SMP方面的优势。
选择WEB服务器时,服务器对动态脚本语言、API的支持和数据库连接的性能都是非常重要而且值得考虑的内容。如果你对服务器性能要求不是很严格的话,选择AOLserver的Tcl或者RoXen的Pike和RXML也不失为一个好的办法。对那些寻求可扩展框架WEB服务器的用户来说,Roxen服务器值得一试。