apache

 

时候 Apache给人的感觉是无处不在,每个人都在运行Apache,甚至包括它们的狗也运行有自己的Apache :)。但是即使如此,仍然有很多种其他的Web服务器可供选择。本文就对目前市场上主流Web服务器进行全面的比较。
WEB服务器
? Apache无处不在,可以运行在包括 Linux、Soloris等多种系统平台之上。Apache在网络市场是无可争议的领头羊。几乎在任何一本关于网络管理的教程中关于Web服务器内容讨论的都是Apache。当然选择Apache是由很多非常充足的原因的,毕竟一千六百万用户(根据Netcraft调查报告的统计数据)的选择不大可能是错误的。但是也没有必要一定去跟随潮流。Web服务也许要多样性,GNU/Linux的哲学就是更据自己的需要和实际情况选择适合自己的工具。
? 也许你的选择更多的注重于速度和可靠性,而不是哗众取宠。也许你仅仅是希望寻找一个干净、易于配置的 web服务器。不管你的选择是什么,总是有很多的软件可以满足需求。在本文中,我们将对多种web服务器进行分析比较,提供给用户选择最适合自己的Web服务器的依据。
? 编写一个基本的 web服务器是非常简单的,仅仅需要监听合适的端口,建立连接,发送数据。编写这样的服务器一般和客户端的开发一般总是相辅相成地发展的,两者的诞生标志着WWW的开始。在九十年代浏览器、web服务器、HTML和HTTP协议都得到了快速的发展。随后服务器变为由NCSA开发,相应的也变为NCSA Web服务器。浏览器由Mosaic变为Netscape Navigator。NCSA目前仍然可以得到,虽然它不再被维护和继续开发,但是仍然可以免费下载其源代码。其就是著名的web服务器Apache的前身。
? 但是要进行这样的联系也需要一个客户端、一个协议和一个网络环境。但是当 Internet不断发展,web服务器需要更多的功能以满足客户端对更多动态内容的需求。Apache已经发展出扩展模块方式来满足这种需求。但是当web服务成为很多商务应用都必须面对和采用的技术时,就出现了很多不同web服务器以满足这些不同的需求。可伸缩性,可靠性,速合和高级动态功能都是web服务器应该具有的关键因素,特别是在电子商务应用环境中。易于配置和管理对于新手来说也同样重要。
? 对于这些所有的特性来说并没有任何一个特定服务器能完全满足需求,但是如果你对自己的 web服务的需求有明确的认识,那么在所有的web服务器中必然有一个能满足你的需求。
Apache 1.3.19
? 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的可扩展性不知最强,但是仍然是提供了如此多特性的服务器中速度最快的。
 

你可能感兴趣的:(职场,休闲,apache介绍)