浩 Zone | Magehao'Blog

记录生活,分享互联
首页 » Linux » 三大WEB服务器对比分析

三大WEB服务器对比分析

世界排名第一服务器当属,根据netcraft(www.netsraft.co.uk)所作的调查,世界上百分之五十以上web服务器在使用apache.
1995年4月, 最早的(0.6.2版)由 group公布发行. group 是一个完全通过internet进行运作的非盈利机构, 由它来决定 web服务器的标准发行版中应该包含哪些内容. 准许任何人修改隐错, 提供新的特征和将它移植到新的平台上, 以及其它的工作. 当新的代码被提交给apache group时, 该团体审核它的具体内容, 进行测试, 如果认为满意, 该代码就会被集成到apache的主要发行版中.
apache 的特性:

  • 几乎可以运行在所有的计算机平台上.
  • 支持最新的http/1.1协议
  • 简单而且强有力的基于文件的配置(httpd.conf).
  • 支持通用网关接口(cgi)
  • 支持虚拟主机.
  • 支持http认证.
  • 集成perl.
  • 集成的代理服务器
  • 可以通过web浏览器监视服务器的状态, 可以自定义日志.
  • 支持服务器端包含命令(ssi).
  • 支持安全socket层(ssl).
  • 具有用户会话过程的跟踪能力.
  • 支持fastcgi
  • 支持java servlets

Nginx

Nginx是俄罗斯人编写的十分轻量级的服务器,Nginx,它的发音为“engine X”, 是一个高性能反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发.
Nginx以事件驱动的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理、负载平衡。其拥有匹配 Lighttpd的性能,同时还没有Lighttpd的内存泄漏问题,而且Lighttpd的mod_proxy也有一些问题并且很久没有更新。但是并不支持cgi方式运行,原因是可以减少因此带来的一些程序上的漏洞。所以必须使用FastCGI方式来执行PHP程序。
做为服务器,有以下几项基本特性:

  • 处理静态文件,索引文件以及自动索引;打开文件描述符缓冲.
  • 无缓存的反向代理加速,简单的负载均衡和容错.
  • FastCGI,简单的负载均衡和容错.
  • 模块化的结构。包括gzipping, byte ranges, chunked responses,以及 SSI-filter等filter。如果由FastCGI或其它代理服务器处理单页中存在的多个SSI,则这项处理可以并行运行,而不需要相互等待。
  • 专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率。它支持内核Poll模型,能经受高负载的考验,有报告表明能支持高达 50,000个并发连接数。
  • 具有很高的稳定性。其它服务器,当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器。例如当前一旦上到200个以上进程,web响应速度就明显非常缓慢了。而采取了分阶段资源分配技术,使得它的CPU与内存占用率非常低。官方表示保持10,000个没有活动的连接,它只占2.5M内存,所以类似DOS这样的攻击对来说基本上是毫无用处的。就稳定性而言,比lighthttpd更胜一筹。
  • 支持热部署。它的启动特别容易, 并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够在不间断服务的情况下,对软件版本进行进行升级。 

Lighttpd

Lighttpd是一个具有非常低的内存开销cpu占用率低效能好以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。
Lighttpd使用fastcgi方式运行php,它会使用很少的PHP进程响应很大的并发量。
Fastcgi的优点在于:

  • 从稳定性上看 fastcgi是以独立的进程池运行来cgi,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分配新的进程来运行逻辑.
  • 从安全性上看 fastcgi和宿主的server完全独立, fastcgi怎么down也不会把server搞垮
  • 从性能上看 fastcgi把动态逻辑的处理从server中分离出来, 大负荷的IO处理还是留给宿主server, 这样宿主server可以一心一意作IO,对于一个普通的动态网页来说, 逻辑处理可能只有一小部分, 大量的图片等静态IO处理完全不需要逻辑程序的参与
  • 从扩展性上讲 fastcgi是一个中立的技术标准, 完全可以支持任何语言写的处理程序(php,java,python…)

来源: ChinaUnix

本站遵循 署名-非商业用途 协议 关注本站最新动态RSS订阅
 »本站所有文章,除特别标明外,皆为原创,欢迎留下你的评论和意见,现在就给我留言吧!

本文评论 18 comments

  1. 张三 说:

    浩子,我严重怀疑你的计数……
    今天发的帖子就300多点击……

  2. pinkmemory 说:

    嘿嘿,人家宣传搞的好嘛。。

  3. 卢松松 说:

    怎么没有windows平台呢

    • Magehao 说:
      @卢松松 win的web服务为IIS 因为漏洞确实太多 非常的不安全,稳定性也差 要经常重启维护一般不会考虑的 。除非是一些小型网站对于要求不高的才会用。
  4. 老饕 说:

    呵呵,置顶的~~

  5. blinux 说:

    第三个还没有听说~

  6. 貌似都没听说过………

  7. ptubuntu 说:

    这三个都很不错.现在主要还是以apache为主.不过现在更多的会选择nginx这个做负载均衡很不错.

    • Magehao 说:
      @ptubuntu apache的缺点就是太耗资源,对于并发连接数非常大的时候处理速度会比较缓慢,nginx这点做的比较好·缺点就是相关技术交流太少
  8. houkai 说:

    看来 我才疏学浅呀 就听过用过第一个
    哦不知道 iis算吗?

    • Magehao 说:
      @houkai 也没有啦,一般搞这方面的才会多了解这些
      IIS是WIN平台下的web服务,不过市场占有率不是很高,所以不算在这三大里面。
  9. 小强 说:

    现在该学习一哈 好多不懂啊

  10. lizhenwei 说:

    Nginx要比Apache的性能要好的多,同等并发下,apache要耗4G内存,N只用1G内存。比较大的站都是用的N 。

Leave a comment

  友情提示:既然来了就留个脚印吧O(∩_∩)O
  期待您的精彩评论··· [[申请头像]]