Nodejs+Express+Cluster 如何使用同一个端口?

月食者916

所以我正在尝试聚类并遇到“错误:绑定 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

NodeJS Express-同一端口(vhost)上的两个NodeJS实例

在同一个端口上运行 socket.io 2.0 和 Express 4.0+

Express server 和 socket.io 不在同一个端口上工作

如何仅使用本地机器上的一个端口将我的 NodeJS/Express 后端连接到我的 VueJS 前端?

NodeJs Cluster.Fork 不是一个函数

如何使用 nodejs 和 express.js 创建一个 android 聊天应用程序?

在使用 nodejs 和 express 时,如何从另一个 JavaScript 文件获得响应?

使用express的nodejs输入流

如何在expressjs/nodejs中,在同一个控制器同一个路由下开发多个get路由功能?

Nodejs express 监听器必须是一个函数

Nodejs & Express:正确解决一个承诺

如何在 Nodejs express 中使用 flash

如何使用express在nodejs中执行承诺

如何使用NodeJS Express控制PUT请求

如何使用Bluebird推广NodeJS Express

如何为 NodeJS Express 应用程序设置 Heroku 端口?

如何在nodeJs中将2个逻辑块放在同一个异步路由中?

Nodejs - Express - 如何计算下一个更接近今天的时间()?

端口34037已在使用Heroku + Nodejs + Express + WebSockets

在 Nodejs 中使用 greenlock-express 和 Express

NodeJS Express中间件不使用next()就转到下一个

如何设置NodeJS Express服务器?

如何捕获此错误NodeJs / Express?

如何在NodeJS / Express中缓存图像?

如何实时更新JSON响应(Express NodeJS)

NodeJS Express:如何获取对象项

NodeJS。Express 4.如何定义环境

使用express到html在nodejs中渲染

使用Express从NodeJS Server下载文件