CNode

用node做服务器了,还需要nginx吗?

问答
AASCII26发布于12 年前最后回复12 年前23 回复66514 浏览0 收藏

如题,有谁能够分析一下这二者在请求处理时候的优劣,到底是只采用Node就好,还是node+nginx比较好?

查看回复

回复 (23)

L
littlehaker#2·12 年前

可以只用 node ,也可以用 nginx 做代理,或者用 passenger 来部署

X
xiaojue#3·12 年前

nginx的优势在负载均衡和静态文件处理。你拿node做静态服务和动态服务均可,但稳定性不如nginx。当然二次转发对性能有损伤,也会有不少坑需要踩

Y
yeaha#4·12 年前

当然是Nginx+Node比较好,除了Nginx来处理静态文件请求和记录web访问日志这种显而易见的好处不说。

单独用Node你如何处理单个IP上的多个Virtual Host,Node的确有办法,你可以搜索一下看看,但是放到Nginx这里根本就不是个事儿。

Nginx + Node绝对比单纯的Node更好。

Y
yakczh#5·12 年前

nginx有很多附加的模块,比如重写,压缩,代理,缓存,日志,虚拟主机,ssh,这些工作如果用nodejs来做的话,不一定比nginx高效稳定

T
tulayang#6·12 年前

nginx是超越apache的东西,应该必须使用

Y
yaochun#7·12 年前

看业务场景把,凭空砍大山,No use~

D
DoubleSpout#8·12 年前
引用 alsotang用 nginx 做反向代理和静态资源嘛。 不过静态资源现在用 cdn 来做的话,也可以只利用它的反向代理。 如果只有一个网站的话,不反向代理也可以。

@alsotang 建议就算单个应用也还是前面放一个Nginx或Tengine好,Nginx反向代理、负载均衡以及资源占用各方面均优于Node.js,Tengine还有一些方便的扩展~

A
ASCII26#9·12 年前
引用 xiaojuenginx的优势在负载均衡和静态文件处理。你拿node做静态服务和动态服务均可,但稳定性不如nginx。当然二次转发对性能有损伤,也会有不少坑需要踩

@yeaha 是的,新手一般不太敢轻易采取某个技术,都是各种观望,看大家怎么评论怎么说,非常容易受影响

S
sarike#10·12 年前

我觉得肯定需要呀,就像Tomcat做了服务器为什么还需要Nginx呢? Node能够运行javascript代码,但是处理静态资源的能力不如Nginx。也就是所谓的应用服务器与web服务器吧……

Y
yeaha#11·12 年前
引用 xiaojuenginx的优势在负载均衡和静态文件处理。你拿node做静态服务和动态服务均可,但稳定性不如nginx。当然二次转发对性能有损伤,也会有不少坑需要踩

@xiaojue Nginx proxy pass到Node那点转发根本损失不了多少性能。坑可能是有点,不过这些坑已经有无数人踩过,只要善用搜索引擎都会有解决方法。

A
alsotang#13·12 年前

用 nginx 做反向代理和静态资源嘛。

不过静态资源现在用 cdn 来做的话,也可以只利用它的反向代理。

如果只有一个网站的话,不反向代理也可以。

A
ASCII26#14·12 年前

多谢各位!一下子豁然开朗了!

Y
yeaha#16·12 年前
引用 xiaojuenginx的优势在负载均衡和静态文件处理。你拿node做静态服务和动态服务均可,但稳定性不如nginx。当然二次转发对性能有损伤,也会有不少坑需要踩

@xiaojue 其实呢,我主要是觉得简单的说性能损伤可能会吓到新手,就像有些人宣称面向对象的方式会影响性能一样,真要说影响性能也没错,但真的不是啥问题,且利大于弊。你我这种过来人倒无所谓,都知道不是啥问题,但是新手难说及就可能驻足不前,有问题就直接把问题点出来就好。

hipache + redis 动态反向代理, hipache是nodejs开发的,对于咱们使用nodejs的同学还可以很方便的去扩展它

H
hades#18·12 年前

用不了nginx只用上node,已经作好各种踩坑的准备

A
alsotang#19·12 年前
引用 alsotang用 nginx 做反向代理和静态资源嘛。 不过静态资源现在用 cdn 来做的话,也可以只利用它的反向代理。 如果只有一个网站的话,不反向代理也可以。

@snoopy 单应用的话,首先反向代理用不着。

负载均衡?nginx 的负载均衡是用在多机器环境下的,单机的负载均衡还是要靠 cluster 这类模块来做。

资源占用,nginx + node 比 单一的 node 占用资源更多吧。

A
aszxqw#20·12 年前

和 nginx 比起来,node 现在差不多就是个玩具。

D
DoubleSpout#21·12 年前
引用 alsotang用 nginx 做反向代理和静态资源嘛。 不过静态资源现在用 cdn 来做的话,也可以只利用它的反向代理。 如果只有一个网站的话,不反向代理也可以。

@alsotang 你说的对,单机node的负载均衡还是用cluster,多机的话用nginx靠谱,另外资源占用我是比较了nginx和node做反向代理时的占用,单独的node肯定比nginx+node占用资源少,我还是习惯在服务器上搞个nginx,以后再要新加站点来的方便。

A
alsotang#22·12 年前
引用 alsotang用 nginx 做反向代理和静态资源嘛。 不过静态资源现在用 cdn 来做的话,也可以只利用它的反向代理。 如果只有一个网站的话,不反向代理也可以。

@snoopy 其实我也是习惯搞个 nginx 的,现在 cnode 的机器上只有一个 cnode 在跑,也是跑在 nginx 后面。

W
wenbob#23·12 年前

不知道为什么都在说nginx,我觉得haproxy和node的搭配明显更舒适。

参与回复
登录后即可参与回复。登录