温馨提示×

centos怎么配nodejs集群

小樊
35
2026-09-14 23:25:49
栏目: 编程语言

在 CentOS 上配置 Node.js 集群(Cluster),一般有 两种方式

  1. 使用 Node.js 自带的 cluster 模块(单机多核)
  2. 使用 PM2 进程管理器(推荐,生产环境常用)
  3. 多机集群(Nginx + 多台 CentOS 机器)(可选扩展)

下面按常见场景说明。


一、单机多核集群(Node.js cluster 模块)

1. 安装 Node.js(CentOS)

curl -sL https://rpm.nodesource.com/setup_18.x | bash -
yum install -y nodejs
node -v

2. 编写 cluster 示例

// server.js
const cluster = require('cluster');
const http = require('http');
const os = require('os');

if (cluster.isMaster) {
  const cpus = os.cpus().length;
  console.log(`Master ${process.pid} is running`);

  for (let i = 0; i < cpus; i++) {
    cluster.fork();
  }

  cluster.on('exit', (worker) => {
    console.log(`Worker ${worker.process.pid} died`);
    cluster.fork();
  });
} else {
  http.createServer((req, res) => {
    res.end('Hello from worker ' + process.pid);
  }).listen(3000);

  console.log(`Worker ${process.pid} started`);
}

3. 运行

node server.js

访问:

curl http://localhost:3000

✅ 利用多核 CPU,自动重启 worker


二、使用 PM2(强烈推荐)

1. 安装 PM2

npm install -g pm2

2. 启动集群

pm2 start app.js -i max

-i max:根据 CPU 核心数自动启动

3. 常用命令

pm2 list
pm2 logs
pm2 restart all
pm2 stop all
pm2 delete all

4. 开机自启

pm2 startup
pm2 save

✅ 生产环境最常用方式


三、Nginx + Node 集群(多机/多端口)

1. 启动多个 Node 实例

pm2 start app.js -i 4

2. 安装 Nginx

yum install -y nginx

3. 配置反向代理

upstream node_cluster {
  server 127.0.0.1:3000;
  server 127.0.0.1:3001;
  server 127.0.0.1:3002;
  server 127.0.0.1:3003;
}

server {
  listen 80;
  location / {
    proxy_pass http://node_cluster;
  }
}
systemctl restart nginx

四、选择建议

场景 推荐方案
单机多核 Node cluster / PM2
生产环境 PM2
高并发 Nginx + PM2
多服务器 Nginx + 多台 CentOS

如果你能说明:

  • 单机还是多机
  • 是否 生产环境
  • 使用 Express / Koa / 原生

我可以给你一套 可直接用的配置

0