Javascript 使用proxy\u pass将NGINX链接到Node.js集群

Javascript 使用proxy\u pass将NGINX链接到Node.js集群,javascript,node.js,nginx,Javascript,Node.js,Nginx,我已经设置了一个NGINX服务器和一个node.js进程。node.js代码如下所示: function startCluster() { var numCPUs = require('os').cpus().length; if (cluster.isMaster) { // Fork workers. for (var i = 0; i < numCPUs; i++) { cluster.fork(); } cluster.on('

我已经设置了一个NGINX服务器和一个node.js进程。node.js代码如下所示:

function startCluster() {
  var numCPUs = require('os').cpus().length;
  if (cluster.isMaster) {
    // Fork workers.
    for (var i = 0; i < numCPUs; i++) {
      cluster.fork();
    }

    cluster.on('exit', function(worker, code, signal) {
      console.log('worker ' + worker.process.pid + ' died');
    });
  } else {
    // begin
    var server = app.listen(3000, function() {
      console.log('Listening on port %d', server.address().port);
    });
  }
}

startCluster();
函数startCluster(){
var numpus=require('os').cpus().length;
if(cluster.isMaster){
//叉工。
对于(变量i=0;i
NGINX配置正在使用proxy_pass将所有传入请求中继到端口3000上的节点

当服务器启动时,我有一些3-4个NGINX进程和5-6个节点进程。(尽管我认为这个数字可能会根据服务器负载的不同而增加或减少)

问题:节点的
集群
如何与NGINX的
proxy\u pass
协同工作,它是否需要任何额外的配置?
或者NGINX只是将请求传递到端口3000,然后nodejs接管其余部分吗?

NGINX将盲目地将HTTP请求传递到另一个主机/端口,而不知道任何支持应用程序的信息。Node的群集模块允许多个节点进程绑定到单个端口,对该端口的传入请求将均匀分布在可用的节点进程中。

长话短说:是的,nginx完全按照您最后一个问题的建议执行。nginx对节点进程一无所知,它只是盲目地将http请求传递给另一个主机/端口。请随意添加它作为答案,我会接受它