首页 > 编程语言 >Ubuntu上Node.js集群部署实现方法

Ubuntu上Node.js集群部署实现方法

来源:互联网 2026-07-27 07:59:59

在Ubuntu上部署Node.js集群可通过内置cluster模块或PM2实现。cluster模块零依赖,主进程派生子进程共享端口,适合简单场景。PM2提供进程守护、负载均衡、日志管理、自动重启等运维功能,更适合生产环境,可确保高可用性。

在Ubuntu上搭建Node.js集群,有多种方案可供选择,核心目标始终是充分利用多核CPU性能,并保证服务高可用。以下介绍两种主流做法:直接使用Node.js内置的cluster模块,或借助PM2进程管理工具。

Ubuntu上Node.js集群部署实现方法

长期稳定更新的攒劲资源: >>>点此立即查看<<<

方法一:使用Node.js内置cluster模块

这是最原生的方式,无需额外安装依赖。核心思路是主进程(Master)派生子进程(Worker),每个Worker共享同一端口,由操作系统负责负载均衡。

  1. 准备一个简单的应用。假设根目录下app.js内容如下:

    // app.js
    const http = require('http');
    const cluster = require('cluster');
    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`);
    }
    
  2. 运行方式简单,直接执行:

    node app.js

    应用会在每个CPU核心上启动一个Worker进程,共同处理请求。

方法二:使用PM2一键部署集群

PM2是Node.js生态中最流行的进程管理工具,能将集群部署简化到一条命令。它内置负载均衡、进程守护、日志管理等功能,适合生产环境。

  1. 安装PM2(全局安装):

    npm install pm2 -g
  2. 启动应用时,使用-i参数指定Worker数量。例如,充分利用CPU核心:

    pm2 start app.js -i max

    -i max会自动根据CPU核心数启动相应数量的Worker。也可手动指定数量,如-i 4

  3. 日常管理便捷。查看运行状态:

    pm2 status
  4. 停止应用:

    pm2 stop app
  5. 重启应用:

    pm2 restart app
  6. 查看日志:

    pm2 logs app

两种方法各有优劣。内置cluster模块零依赖,适合对底层控制有较高要求的场景;PM2则提供更完整的运维体验,包括进程守护、自动重启、零停机更新等。根据实际需求选择即可,没有绝对的好坏之分。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备14008430号-1 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。