当前位置:首页 > 网站制作 > 正文内容

Cherokee-又一个高性能WEB服务器

admin14年前 (2011-03-02)网站制作575
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以一种更加符合认知的方式展现出来。对于新手来说,不用记那么多的命令代码是个好事,对于老手来说,图形化的配置管理也显得更加方便。 你可以针对每个虚拟服务器方便的进行管理。 功能 Cherokee提供了非常多的功能,具体可以参考这里:http://www.cherokee-project.com/doc/modules.html。下面简要介绍一些”不可错过“的模块。 完善的动态脚本支持。 Nginx的CGI扩展还处于试验阶段,所以一些动态perl产生的网页,配置起来就不那么方便。但是Cherokee则不同,它提供一套完善的动态语言脚本支持。你可以通过信息源(sources)页面来配置,并在vserver的handler选项卡来启用这些东西。(可以参考下部分的php配置)。 CGI: Common Gateway Interface. FastCGI: Fast Common Gateway Interface. SCGI: Simple Common Gateway Interface. uWSGI: uWSGI protocol. 视频/音频流(Audio/Video Streaming)。 做在线视频的项目这个少不了。具体参考http://www.cherokee-project.com/doc/modules_handlers_streaming.html。功能还是非常实用的。 URL重写(Redirect)。 必不可少的功能。配置起来非常直观,选项也很多。 Hidden Downloads 假如你有一个叫/bar/foo/example.iso的文件,只有某些被许可的人才能下载,可以使用这个功能来完成这一要求。当那些被许可的人请求这个文件下载的时候,服务器会返回一个一次性地址/downloads/ac003ebbb88c4fc9a75687223c72c6da/49b40a43/bar/foo/example.iso。 这样,没有被授权的人就无法获得这个文件的下砸地址了。 Mysql桥(MySQL bridge) 可以将后端的Mysql数据库抽象成http方式来访问。可以直接用在JSON、Php或者Python中。http://www.cherokee-project.com/doc/modules_handlers_dbslayer.html。 负载均衡 支持多种方式的负载均衡,包括Round robin,IP Hash,Failover。 IO cache和sendfile支持 IO是制约服务器处理时间的重要因素,凭借着IO cache和sendfile支持,让服务器跑的更快速。Cherokee允许你在每个虚拟服务器上选择启用还是关闭这一功能。 安全和身份验证 让某个WEB资源只有获得认证的人才能访问,验证方式多种多样,包括: Plain: 纯文本文件的验证方式。你可以将密码写在一个文本文件中。 htpasswd: htpasswd方式。Apache httpd自带的那种。将用户名和加密了的密码放在一个文件中。 htdigest: htdigest机制。 LDAP: LDAP身份验证。 MySQL: 将用户记录放在数据库中。 PAM:PAM机制。 Fixed list: 固定名单。 立即关闭TCP连接(Drop Connection) 不管三七二十一,直接关闭TCP连接,用于应对服务器被攻击。 具体演示:如何搭建一个wordpress虚拟主机 wordpress虚拟主机包括了php支持,url重写等等,通过配置wordpress,可以大概了解Cherokee的使用。 新建一个信息源,用于提供PHP服务,这里我们选择fastcgi/php-fpm的方式来使用php。配置细则如下。 新建一个虚拟主机,配置它的rule规则。 选择第一个,自定义。 本来是有wordpress虚拟主机模板的,但是在新版本中,由于cherokee-market的出现,cherokee试图向让用户通过market来安装这些wordpress。这样有一个问题,market安装的网站会出现在/var/lib/cherokee/ows/目录下,这个目录你现在还无法自己制定。 而且有些开源软件的安装,比如drupal,market也会向你收费。服务器资源是我的,drupal也是开源的,为什么收费我就不知道了。

扫描二维码推送至手机访问。

版权声明:本文由博赚恋吧资源站发布,如需转载请注明出处。

本文链接:https://432l.com/post/4312.html

标签: 站长工具
分享给朋友:

相关文章

国内博客搬家工具大全

一、和讯博客的“搬家公司”提供博客搬家服务  搬家服务地址:http://hexuncom.blog.hexun.com/306956_d.html  目标对象:新浪博客、搜狐博客、网易部落、TOM博客、MSN Space、天涯社区、中国博客网、中华部落阁、博客中国、博客中国专栏、DoNews、歪酷博客、敏思博客、BlogBUS、BlogDrive、百度空间、mop博客。 ...

z-blog的主题制作技巧与诀窍

1.更新浏览计数在打开单页日志后产生,每刷新一次,计数加1。注意:只有在b_article-single.html有以下及第3步中介绍的代码,浏览计数才有效。在b_article-single.html模板中,你认为合适的位置加入以下代码,<span>标签内显示的就是当前文章的浏览次数。<span id="spn<#article/id#>">...

2009 Web 设计风潮—多栏布局

多栏布局(大于3栏)通常比较复杂,但通过适当设计,会对访问者带来更好的访问体验。最近几年,Web 内容爆炸,用户停留在一个网站的时间越来越少,就要求 Web 设计者尽可能有效地展示数据,既要让访问者多停留,又要让他们更容易发现他们希望看到的内容。多栏设计一般用于杂志布局或展示型布局站点,一般使用网格布局技术实现。多栏布局一般使用概述/细节式结构,首先用多栏展示概述式内容,然后进入详细内容的展示。M...

z-blog 显示评论者的网站链接

在 Z-BLOG 的博客中,有一些模板默认是不显示评论者的网站地址链接的,这样我们要回访起来就比较麻烦。那么我们自己动手修改模板,让它显示链接地址。在修改模板之前,我们先来了解一下相关的文件及数据。1、b_article_comment.html  每条评论内容显示模板;        2、<#article/c...

新手做网站时要关注的10个网站程序

建站程序是站长运营网站的根本。如何选择建站程序,提供适合自己网站会员体系的服务和应用,一直是广大站长朋友比较关心的话题。  NO.1 Discuz!  程序简介:Discuz!是全球范围内用户量最大、覆盖面最广的社区论坛(BBS)产品。作为一套成熟的社区解决方案,Discuz! 的每一次升级都引领着中国互联网的社区化、社交化潮流,经过八年多的发展,Discuz! 所建立的社区技术体系和人机交互模型...

神奇的代码---你绝对想不到浏览器还有这个功能!

浏览器可以浏览网页,可以查看图片、视频,可以保存图片等等功能,但你可能没有想到或没有见到过下面这个功能:访问的页面中包含的图片元素围绕在一起有规律的旋转 !这是如何实现的呢?首先随便打开一个网站,随便一个网站都行!然后复制下面的代码到地址栏中,回车确定,看看发生了什么?下面是代码!javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=....

评论列表

合金
14年前 (2011-03-03)

博主介绍的很细致啊!支持一下。

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。