如何在Ubuntu上配置Node.js的集群模式
在Ubuntu上配置Node.js集群模式,需先安装Node.js与npm,利用cluster模块根据CPU核心数fork工作进程,共享端口实现负载均衡。通过pm2startapp.js-imax可自动管理进程,提升并发性能,充分利用多核CPU资源。
在 Ubuntu 上折腾 Node.js 集群模式,说白了就是想榨干多核 CPU 的性能,让应用能扛住更大的并发量。这事其实不难,跟着下面的步骤走就行,咱们直接切入正题。
1. 安装 Node.js
动手之前,先确认你的 Ubuntu 系统里有没有装好 Node.js。没装的话,两行命令搞定:
sudo apt update
sudo apt install nodejs npm
装完可以跑一下 node -v 和 npm -v 看一眼版本,心里有个数。
2. 创建一个简单的 Node.js 应用
接下来,建个目录当工作区:
mkdir my-cluster-app
cd my-cluster-app
然后新建一个 app.js 文件,把下面这段代码贴进去。别被它吓到,逻辑很直白——主进程根据 CPU 核心数 fork 出对应数量的工作进程,每个工作进程都启动一个 HTTP 服务,共享 8000 端口。
const cluster = require('cluster');
const http = require('http');
const numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
console.log(`Master ${process.pid} is running`);
// Fork workers.
for (let i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('exit', (worker, code, signal) => {
console.log(`worker ${worker.process.pid} died`);
});
} else {
// Workers can share any TCP connection
// In this case it is an HTTP server
http.createServer((req, res) => {
res.writeHead(200);
res.end('hello world\n');
}).listen(8000);
console.log(`Worker ${process.pid} started`);
}
3. 运行应用
保存文件后,在终端里直接运行:
node app.js
你会看到控制台打印出主进程的 PID,接着一串工作进程依次启动。如果一切正常,所有进程会一起监听 8000 端口。
4. 验证集群模式
怎么确认多进程真的跑起来了?用 ps 命令扫一眼:
ps aux | grep node
输出里应该有一个主进程(进程名里带 node,PID 和打印的一致),外加若干个工作进程。数量对得上 CPU 核心数,说明集群模式已经生效。
5. 测试负载均衡
接下来试试流量分发效果。多敲几次 curl:
curl http://localhost:8000
每次返回的都是 hello world 对吧?但如果你留意控制台日志,会发现响应来自不同的工作进程(每个请求由哪个 worker 处理,日志里会打印出 PID)。这就说明 Node.js 的 cluster 模块已经自动帮你把请求均匀地轮询到各个工作进程上了。
6. 监控和管理
生产环境光靠手撸的集群代码肯定不够,还得配上趁手的工具。这里推荐两个:
- PM2 —— 进程管理利器,自带负载均衡、自动重启、日志管理,生产首选。
- nodemon —— 开发时用,代码一改自动重启,省心。
使用 PM2
全局装上 PM2:
sudo npm install -g pm2
然后一行命令启动,-i max 参数会自动根据 CPU 核心数 fork 出对应数量的进程:
pm2 start app.js -i max
查看运行状态和日志也很方便:
pm2 status
pm2 logs
到这步,Ubuntu 上的 Node.js 集群模式就配好了。从单进程到多进程,性能提升立竿见影,而且 Node 内置的 cluster 模块用起来非常顺手,配合 PM2 更是如虎添翼。下次遇到高并发场景,别忘了这个套路。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















