所以我正在尝试聚类并遇到“错误:绑定 EADDRINUSE null”。
浓缩(和测试)代码:
var cluster = require('cluster');
if (cluster.isMaster) {
// Count the machine's CPUs
var cpuCount = require('os').cpus().length;
// Create a worker for each CPU
for (var i = 0; i < cpuCount; i += 1) {
cluster.fork();
}
} else {
var https = require('http');
var express = require('express');
var app = express();
var serv = https.createServer(app);
serv.listen(80);
console.log("Server started.");
}
显然这是因为我的工人绑定到同一个端口。与客户端的连接是连续的并且有点密集。我想对工作人员的入站连接进行负载平衡。有没有办法我的主人可以将连接传递给工人?
嗯,第一个答案是正确的。但我希望您对聚类有所了解。将您的应用程序集群或分叉到多个多个进程中的概念并不意味着在不同端口上运行多个应用程序。实际上,这个概念是分布。
很快,假设您的应用程序在端口 3000 上运行,只有一个进程。为了使其能够承受更多负载或将负载分配到多个进程,我们进行了集群。所以我认为你很清楚,之后不应该出现不同的端口问题。
所以是的,第一个答案是正确的,自己做,无论哪种方式,你都可以做到 PM2.
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句