您好,欢迎访问一九零五行业门户网

Apache是否优于Nginx?

最近nginx总是502,想改成apache。
回复内容:apache是否优于nginx ?
这个没有谁比谁优秀,只有找到合适自己的才是最好的,出现502错误,先从服务器着手查找原因,再从所使用的软件着手,祝好运。匿名兄弟回答:“apache是这个称呼不对,准确的说应该是apache httpd……”。
其实,连apache网站都存在这个情况。例如官网q&a页面“what is apache?”说的就是httpd. http://wiki.apache.org/httpd/faq#what_is_apache.3f
其实这是旧名称的延续。十年前,我使用时记得还叫apache. 大概后来项目多了,为了避免混淆。就开始刻意区分了。电动车是否优于摩托车nginx可以和apache一起用的。
nginx是通过fastcgi调用php-fpm来执行php,动态页面如何都和他没关系。没有谁优于谁,都有各自的长处和短板。
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。
所以似乎又打击题主了。
最后,还是匿了吧,技术问题一个回答错误就要被喷啊,低调,低调。如果单纯是这个问题,不建议更换,应该找到问题的根源予以解决。
当前nginx的流行程度已经很高,很多大型网站都有使用,我们公司的项目都是nginx作为webserver,不存在这类问题。
nginx出现502应该查找是否网站程序或者配置问题,换成apache不一定能解决你的问题。
php-fpm配置进程数或其他资源是否足够
检查php程序,fpm进程有没有被跑死的可能,有没有超越配置所限的资源配额
……这里有篇经典的帖子,可以看看:http://blog.s135.com/nginx_php_v6/ 个人感觉nginx是新潮,尽管apache httpd占用了很大的市场,但nginx凭着其高并发处理的优势会得很很多人的青睐.而且它还是轻量级的,这点也很吸引人. 腾讯的weiyun就用的就是nginx服务器.nginx和apache 都是web server ,关于你说的nginx 出现502错误,我认为是你的配置问题,nginx 在国内大型的网站上应用的还是非常多的,特点是处理静态文件效率高。最近nginx呈愈演愈烈之势。各有所长。我觉得nginx更cool一些。
其它类似信息

推荐信息