繁体   English   中英

使用proxy_pass将NGINX链接到Node.js集群

[英]Linking NGINX to Node.js Cluster using proxy_pass

我已经设置了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();

NGINX配置使用proxy_pass将所有传入请求中继到端口3000上的节点。

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

问题:节点的cluster如何与NGINX的proxy_pass ,是否需要任何额外的配置? 还是NGINX只是将请求传递到端口3000,然后nodejs接管其余的请求?

Nginx将盲目地将HTTP请求传递到另一个主机/端口,而无需了解有关后备应用程序的任何信息。 节点的集群模块允许多个节点进程绑定到单个端口,并且对该端口的传入请求将在可用节点进程之间平均分配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM