首页 >公司新闻

Apache服务器是否优于Nginx?

发布时间:2013-10-15     发布者:本地    

没有谁优于谁,都有各自的长处和短板。

Apache是这个称呼不对,准确的说应该是Apache httpd,因为Apache是一个软件基金会,下面有无数的产品。

Httpd是老牌的Web Server,LAMP里面,A就是代表它,尽管现在因为有了Nginx所以诞生了的LNMP。


httpd的老牌就意味着它诞生的时代比较久远,在当时互联网服务还比较简单,都集中在静态页面和并不算丰富的动态交互,凭借着出色的设计和强大的社区(这是重点)使其成为首选服务器。但是随着网络的不断发展,高并发的需求开始显现,httpd的负载能力就备受考验,而它之所以低效,也是由于架构设计之初并没有预料到这样的情况,采用了传统的select模型,导致现在已经积重难返,重新设计无异于脱胎换骨。


后期之秀Nginx则是顺应互联网发展所诞生的轻量的server,它采用的是全新的网络架构epoll和kqueue模型,在高并发方面基本上甩Apache几条街。但它也存在不足,至少就功能的丰富程度显然还是比不上Apache,尽管现在社区也很火热,但也只是近几年才逐渐被大家认识和接受,并且它并不是万能到可以解决所有问题的。


如何选用它们?

假设你用的是PHP,似乎也只有PHP和这俩是黄金搭档,如果是Java,自然就用tomcat了,所以我们认为你是在使用PHP。

PHP有几种方式和web server整合起来,module(apache的模块),cgi模式,fastcgi模式(更高效的cgi)。从实际运行效果来看,fastcgi是最优选择。

就配置而言,Apache要配置fastcgi很麻烦,而且由于fastcgi的特点,使用Apache来做代理显然不是什么上选,哪怕你用lighthttpd之类的,也都优于Apache。

而Nginx则是极佳的反向代理服务器,它和fastcgi是很好的组合。

如此一来,结果显而易见,那就是Nginx秒掉了Apache。


上一篇:PHP哪个MVC 框架比较好 下一篇:RHEL6和RHEL5相比的优势

相关新闻