Eri*_*rik 11 nginx node.js node-http-proxy
请告诉我,最好用于部署nodejs应用程序nginx或node-http-proxy.什么是最强大的?
我需要的基本功能是
srq*_*inn 31
这是一篇关于这个主题的精彩文章http://www.exratione.com/2012/07/proxying-websocket-traffic-for-nodejs-the-present-state-of-play/
我个人在这个领域玩了很多配置,这一切都取决于你需要什么以及你需要部署的地方.如果您使用自己的硬件(或云片等)并且只需要支持Node,那么端口80上的node-http-proxy非常强大,功能强大,可以让您利用websockets和ssl等技术小头痛.
但是,如果您有其他需要支持的站点,比如说Drupal或Grails站点,那么面对80上的Nginx是更标准的做法.话虽如此,Nginx没有理由不能在80上使用node-http-proxy安装到端口8080,并且根据所需的CGI语言代理流量.这是我首选的配置以及我目前在生产中运行的配置.到目前为止我很高兴.它快速,强大,我仍然可以支持我的客户在我自己的nodejs应用程序中使用websockets和ssl在RapidWeaver中构建站点.
哦,使用node-http-proxy进行负载均衡是一件小事......看看这个简单的Round-Robin示例https://github.com/nodejitsu/node-http-proxy/blob/master/examples/balancer/简单balancer.js
编辑:
我发现在端口80上运行node-http-proxy是不好的做法,因为它要求root用户执行节点.而是使用IP表将端口80重新路由到运行node-http-proxy的非特权端口.更好的设置是将清漆放在80上(因为正如文章所说,任何严肃的Web应用程序都应该在它前面有一个HTTP加速器)并将请求转发给非特权端口上的node-http-proxy.从这里,您可以了解如何在节点服务器和nginx之间分配流量.
第二编辑:
Nginx现在支持websockets!虽然节点的当前状态非常能够提供完整的堆栈,但这并不意味着它应该.我的意思是,从技术上讲,你可以用一把螺丝刀的把手钉在墙上......但是如果你有一把锤子坐在那里,你为什么要这样?从服务静态到复杂的负载平衡,Nginx在一些最先进的网络中进行了战斗测试和部署.现在已经添加了websocket支持,这简直是一件容易的事.
| 归档时间: |
|
| 查看次数: |
10143 次 |
| 最近记录: |