node.js - pm2、 Node 、实例和端口

标签 node.js pm2

很抱歉,如果这个问题是针对“新手”的,但我不知道该怎么做/它是如何工作的。

1/我正在使用 node.js 创建一个 API,该 API 服务于一些前端应用程序

2/为了让它更健壮,我使用 pm2(很棒的产品),使用 nginx 作为代理,很好

3/但是我如何处理我的 node.js api 的多个实例?我看到“集群模式”,很好,但是当我的 node.js 正在监听单个端口(例如 8080)时发生了什么?如果我配置 4 个进程/实例,它们就不能同时监听同一个端口啊? ...所以:pm2 是否在实例之间调度调用(因此确实充当了一种代理)。

任何线索将不胜感激,它是如何工作的?

格雷格

最佳答案

集群模式下的 Node 创建一个主 Node ,然后生成共享 TCP 连接的工作进程,因此负载基本上分布在工作进程之间。

这是一篇详细介绍 pm2 和 Node 集群的漂亮文章 -

https://getstream.io/blog/running-pm2-node-js-in-production-environments/

希望对您有所帮助。

关于node.js - pm2、 Node 、实例和端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44170167/

相关文章:

javascript - 当包含 NPM 包时,Meteor.js 中的“require is not defined”

node.js - NodeJS/Express : Concurrency issue when accessing res. 本地人

node.js - Jade block 不渲染

node.js - 让 PM2 每 10 分钟只运行一次作业

node.js - 使用 pm2-logrotate 的大尺寸 pm2 日志

javascript - 循环遍历对象的嵌套数组

node.js - 如何用 rewire 模拟请求模块?

node.js - 使用 Node v6.x 和 pm2 导致 koa-ejs 错误

node.js - pm2部署和gitlab私有(private)仓库

node.js - 如何使用进程名称而不是进程ID重新启动PM2进程?