使用NginX for Node.js有什么好处?

时间:2010-07-06 12:57:37

标签: nginx node.js

从我的理解Node.js不需要NginX作为http服务器(或websockets服务器或任何服务器),但我一直在阅读如何使用NginX而不是Node.js内部服务器和cant找到一个很好的理由去那样

3 个答案:

答案 0 :(得分:29)

这里http://developer.yahoo.com/yui/theater/video.php?v=dahl-node Node.js作者说Node.js仍在开发中,因此可能存在NginX隐藏的安全问题。
另一方面,在流量很大的情况下,NginX将能够在运行服务器的许多Node.j之间拆分作业。

答案 1 :(得分:9)

但要做好准备:nginx在与后端通信时不支持http 1.1,所以如果你把节点放在nginx后面,那么诸如keep-alive或websockets之类的功能将无效。

UPD:请参阅nginx 1.2.0 - socket.io - HTTP/1.1 - Proxy websocket connections了解更多最新信息。

答案 2 :(得分:8)

除了之前的答案,还有另一个在Node.js前面使用nginx的实际原因,这只是因为您可能希望在服务器上运行多个Node应用程序。

如果Node应用程序正在侦听端口80,则您只能使用该应用程序。如果nginx正在侦听端口80,它可以将请求代理到在其他端口上运行的多个Node应用程序。

将TLS / SSL / HTTPS委托给Nginx也很方便。可以直接在Node中执行TLS,但这是额外的工作并且容易出错。使用Nginx(或其他代理)在您的应用前,您不必担心它,并且tools to help you securely configure it