在 CentOS 上搭建 Node.js 集群可以通过多种方式实现,其中最常见的是使用 Node.js 的内置模块 cluster
。以下是一个基本的步骤指南,帮助你在 CentOS 上搭建一个简单的 Node.js 集群。
安装 Node.js:确保你已经在 CentOS 上安装了 Node.js。如果没有安装,可以使用以下命令进行安装:
sudo yum install -y nodejs npm
创建项目目录:创建一个新的目录来存放你的 Node.js 应用程序。
mkdir my-cluster-app
cd my-cluster-app
初始化项目:使用 npm init
初始化一个新的 Node.js 项目。
npm init -y
创建服务器文件:创建一个名为 server.js
的文件,并添加以下代码:
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`);
}
启动主进程:在项目目录中运行以下命令来启动主进程:
node server.js
验证集群:你可以使用 curl
或浏览器访问 http://localhost:8000
来验证集群是否正常工作。你应该会看到多次响应,每次请求都会由不同的工作进程处理。
cluster
模块默认使用轮询方式进行负载均衡。你可以根据需要调整负载均衡策略。PM2 是一个非常流行的 Node.js 进程管理工具,可以简化集群的管理和监控。以下是如何使用 PM2 在 CentOS 上搭建和管理 Node.js 集群的步骤:
安装 PM2:
sudo npm install pm2 -g
启动应用:使用 PM2 启动你的 Node.js 应用程序,并指定要启动的工作进程数量。
pm2 start server.js -i numCPUs
其中 numCPUs
是你的 CPU 核心数。
查看进程列表:使用以下命令查看 PM2 管理的所有进程。
pm2 list
监控和管理:PM2 提供了丰富的命令来监控和管理你的应用程序,例如:
pm2 logs
pm2 stop <id>
pm2 restart <id>
pm2 delete <id>
通过以上步骤,你可以在 CentOS 上成功搭建和管理一个 Node.js 集群。