在 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 logspm2 stop <id>pm2 restart <id>pm2 delete <id>通過以上步驟,你可以在 CentOS 上成功搭建和管理一個 Node.js 集群。