将nginx中的流量转发到node.js的正确方法

将nginx中的流量转发到node.js的正确方法,node.js,nginx,forwarding,Node.js,Nginx,Forwarding,我想将所有流量转发到nginx中的某个URL,然后转发到node.js。我还是node.js新手,我想知道我是否应该使用某种CGI服务(如PHP),或者是否应该设置node.js服务器(如nginx->apache),并通过nginx将所有流量转发到该服务器,如下所示: var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/pl

我想将所有流量转发到nginx中的某个URL,然后转发到node.js。我还是node.js新手,我想知道我是否应该使用某种CGI服务(如PHP),或者是否应该设置node.js服务器(如nginx->apache),并通过nginx将所有流量转发到该服务器,如下所示:

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello Node.js\n');
}).listen(8124, "127.0.0.1");
这只是一个需要运行node.js脚本的页面。最好的方法是什么?

Nginx反向代理(又名proxy\u pass)不支持保持活动状态。 但是,可以使用第三方模块Maxim Dounin的上游Keepalive模块为FastCGI建立keep-alive连接


顺便说一句,Node.js在没有任何反向代理的情况下仍然可以稳定地运行。

好吧,应用程序的主要部分将在nginx后面运行couchdb-因此我只需要Node.js在某个点跳入并执行http请求,检查结果,然后转发给用户。我想我可以使用PHP或Ruby来实现这一点,但我更愿意使用JavaScript。我还希望通过SSL进行事务处理。我认为使用Nginx作为HTTP服务的中间件会降低性能,因为它需要为每个请求启动新的连接。Erlang还能够处理许多并发连接。好吧,如果couchdb可以将流量转发到这个node.js页面,那也没问题——但是node.js服务器仍然比nginx慢,所以当使用两个不同的后端(couchdb和node.js)时,我宁愿使用nginx。