我已经设置了一个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个节点进程。(虽然我认为这个数字可能会增加或减少,但取决于服务器负载)
问:节点的cluster
如何与NGINX的proxy_pass
一起工作,它是否需要任何额外的配置?还是NGINX简单地将请求传递到端口3000,然后nodejs接管其余的?
发布于 2014-09-19 17:19:34
Nginx将盲目地将HTTP请求传递到另一个主机/端口,而不了解备份应用程序。节点的集群模块允许多个节点进程绑定到单个端口,而传入到该端口的请求将在可用的节点进程之间均匀分布。
https://stackoverflow.com/questions/25840248
复制相似问题