建站经验 experience
当前位置:首页 > 网站建设专题 > 建站经验
又一个高性能WEB服务器–Cherokee
发布日期:2011-03-02 阅读次数:1197 字体大小:

Cherokee号称是目前最快的 Web 服务器软件,据说在性能上甚至比 Nginx 还略胜一筹。并且它们提供了一个benkmark测试来试图证明这一点,参与比较的有lighttpd,nginx。

同时,Cherokee还具有众多的模块功能支持,比如FastCGI、SCGI、PHP、CGI、TLS 及 SSL 加密连接,虚拟主机,授权认证,实时编码,载入均衡,与 Apache 兼容的 log 文件等等。从功能的丰富性上来说,可以与Apache httpd比肩了。

高性能和图形化的服务器管理是Cherokee的俩大卖点。

本文写作时,Cherokee的版本是1.2.1。Cherokee的中文意思是切罗基人,美洲的五大土著人种之一。不过读起来,我感觉还是老毛子的Nginx发音比较硬派。

安装以及配置

基本上各大主流Linux和BSD发行版的软件仓库中都已经有现成的Cherokee软件包了。可以直接用各自的工具来自动安装,当然Cherokee也提供从源代码自己编译安装。

主要的配置文件是/etc/cherokee/cherokee.conf,这个文件的语法开起来比较不舒服,而且到目前为止,Cherokee不支持conf文件的include功能,也就是说,你无法像apache或者nginx那样,将配置分散到不同的文件中,Cherokee只能使用一个配置文件cherokee.conf。官方是这样解释的,他们不建议你手工编辑cherokee.conf文件,而应该通过cherokee-admin程序来编辑。cherokee-admin程序会提供一个设计良好的web界面,通过这个界面,你可以很好的将cherokee配置进行模块化管理。

不过我依旧觉得,conf文件不能使用include语句来实现配置的模块化是一个非常不舒服的事情。

性能

单从处理时间上来说,“fastest”这个词用在Cherokee上并没有问题。关于Cherokee的性能,可能第三方的测试比较客观。和公认的高性能服务器Nginx相比,有人做了ab测试,http://www.oschina.net/bbs/thread/482。总结一下,在100并发下,Cherokee比nginx的处理时间确实要短一些,但是在更高的并发下,Cherokee会出现Failed requests(请求失败),而nginx却不会出现。就是说,Cherokee虽然处理时间更短,但是不稳定,会出现请求失败。

对于低并发的网站,Cherokee快出的那几个毫秒似乎没有什么意义,对于高并发的网站,Cherokee又会出现请求失败的不稳定状况。“fastest”在这里就显得有些鸡肋了。期待未来的版本,Cherokee可以进一步提高服务器的稳定性。

从服务器内存消耗方面来说,Cherokee可能比nginx更加吃内存。都是开两个工作线程(worker),Cherokee比nginx需要更多的内存。所以对于内存不大的VPS用户,nginx可能依旧是最好的选择。

图形化配置管理

Cherokee的所有配置都可以通过图形化的方式来进行,具体说就是cherokee-admin工具。

执行cherokee-admin会在本地开启一个服务器管理界面,并产生一个用于登录的临时密码,注意只能从本地才能登录这个管理界面。

执行cherokee-admin -b则会让管理界面可以在Internet上访问。

cherokee-admin -b -u可以产生一个无需密码就可以从internet上访问的管理界面,虽然这么做并不安全,但是可能在你本地机器上调试Cherokee的时候显得更加方便。

cherokee-admin默认开启10个线程,很占内存,如果你的服务器内存不够的话,可以通过制定-T参数来限制开启的线程数目,比如cherokee-admin -T 1。

如果cherokee-admin运行出错的话,可以加上-x参数来显示调试信息,比如cherokee-admin -b -x。

另外cherokee-admin的参数好像不能写在一起,比如cherokee-admin -bu就会出现错误,写成cherokee-admin -b -u就没问题了。

cherokee-admin从逻辑上完全实现了服务器配置的模块化管理(虽然,实际上物理配置文件只有一个),它负责将cherokee.conf以一种更加符合认知的方式展现出来。对于新手来说,不用记那么多的命令代码是个好事,对于老手来说,图形化的配置管理也显得更加方便。

你可以针对每个虚拟服务器方便的进行管理。