nginx 和 apache 哪个好

kdrhrg 发布于 2013/08/31 08:41
阅读 982
收藏 1
nginx 和 apache 哪个好
加载中
1
eechen
eechen
反向代理和静态文件处理Nginx比Apache更胜一筹.
Tengine团队之前有对连接数进行过测试,在24G内存的机器上,Nginx处理的并发请求数达到过200万.参见 http://tengine.taobao.org/book/chapter_02.html

就拿PHP服务来说,从5.3.3加入到PHP的PHP-FPM可以通过Nginx的fastcgi_pass轻松实现分布式计算,PHP-FPM分布到upstream集群即可.
反观以mod_php工作的Apache,为了兼容和稳定,PHP官方还是建议Apache以老旧的Prefork MPM运行,libphp5.so作为module集成到Apache里运行,也就是PHP和Apache都在同一台机器,无法轻松实现分布式,而php-fpm独立运行,不依赖Nginx.
另外如果用LAMP组合生成libphp5.so,在编译PHP前先要编译Apache,然后在编译PHP时用--with-apxs2指定Apache的apxs2模块编译工具位置,而对于LEMP组合,编译PHP时只要加上--enable-fpm就可以生成PHP-FPM,跟Nginx的耦合度很低.
0
yak
yak
李双江和梦鸽哪个好
mickelfeng
mickelfeng
苍井空好,还是波多野结好
iSea
iSea
回复 @WangJason : 那是因为你是男的,女的可能就会说双江好了,所以这个问题没有哪个比哪个好的说法,只有哪个更适合自己
WangJason
WangJason
当然是梦鸽好,至少是女的
0
doudou0127
doudou0127

你的需求是?

apache比nginx的插件多一些,但一般的使用的话(负载均衡/反向代理等),两款Server都能很好的满足需求。apache一般认为在稳定性上有一些优势,nginx在性能上有一些优势。

Raynor1
Raynor1
回复 @doudou0127 : 菜鸟总是因为自己的疏忽而给自己找理由。
doudou0127
doudou0127
回复 @Raynor1 : 你总是拿nginx通过fastcgi给php做http proxy这一个应用场景说话本身就显的你一叶障目不识泰山,楼主并没有说他的应用场景你怎么就知道楼主是在这种应用场景里使用呢?我没有具体的说什么是因为我不清理楼主的应用场景。但是像你这样嘴这么臭就显的素质太低了。
Raynor1
Raynor1
回复 @doudou0127 : 从你的这一个话里面就可以看出你根本还不懂nginx和fastcgi这两者的设计模式。。上面的人都说了耦合的程序低。。而且cgi挂了nginx还是可以工作。。你在apache里面crash后你还可以再处理后面的请求?都卡住了吧?你妈喊你吃完饭估计都看不到500了吧。
Raynor1
Raynor1
回复 @doudou0127 : 就喜欢喷你这种鸟人。。狗P懂的去误导别人。。你说的稳定性呢。。你说的稳定性呢。。稳定在哪里你狗一样的不说就在这一边乱说。。误导人不好的好吧。。数据说话你的数据呢?说nginx不稳定你也说出一个道理来呀?浮?躁?看到你这种鸟人误导别人喷你是良知
doudou0127
doudou0127
回复 @Raynor1 : 你看看你的素质,上来就满嘴喷粪。注意我的用词是“一般认为”,技术领域是“负载均衡/反向代理”,难道nginx就只是用来给php跑fastcgi?apache的历史要比nginx久的多,旧架构和技术债,性能上很难向nginx看齐,但是同样是因为时间久远,积累了更丰富的插件,稳定性上也经过更多的考验。做技术不能那么浮躁,要搞清楚需求场景,像你这样真丢人。
下一页
0
王瑞平
王瑞平
这个真不用纠结
0
明月惊鹊
明月惊鹊
随便用,有bug老外修,怕什么。
0
SNY
SNY

要做反向代理nginx好,要做php运行环境apache好,各有各的偏向使用场景啊

0
k
kdrhrg

引用来自“eechen”的答案

反向代理和静态文件处理Nginx比Apache更胜一筹.
Tenginx团队之前有对连接数进行过测试,在24G内存的机器上,Nginx处理的并发请求数达到过200万.参见 http://tengine.taobao.org/book/chapter_02.html

就拿PHP服务来说,从5.3.3加入到PHP的PHP-FPM可以通过Nginx的fastcgi_pass轻松实现分布式计算,PHP-FPM分布到upstream集群即可.
反观以mod_php工作的Apache,为了兼容和稳定,PHP官方还是建议Apache以老旧的Prefork MPM运行,libphp5.so作为module集成到Apache里运行,也就是PHP和Apache都在同一台机器,无法轻松实现分布式,而php-fpm独立运行,不依赖Nginx.
另外如果用LAMP组合生成libphp5.so,在编译PHP前先要编译Apache,然后在编译PHP时用--with-apxs2指定Apache的apxs2模块编译工具位置,而对于LEMP组合,编译PHP时只要加上--enable-fpm就可以生成PHP-FPM,跟Nginx的耦合度很低.
总结的很好,谢谢你,辛苦啦
返回顶部
顶部