簡體   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