在CentOS上搭建Node.js集群可以通過多種方式實現,其中最常用的是使用PM2(Process Manager 2)。PM2是一個功能強大的Node.js進程管理器,支持集群模式,可以輕松地管理和擴展Node.js應用。以下是詳細的步驟:
首先,確保你的CentOS系統上已經安裝了Node.js。如果沒有安裝,可以使用以下命令進行安裝:
# 使用NodeSource二進制分發庫安裝Node.js
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
sudo yum install -y nodejs
接下來,安裝PM2:
sudo npm install pm2 -g
假設你已經有一個Node.js應用,或者你可以創建一個簡單的示例應用。例如,創建一個名為app.js
的文件:
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
});
server.listen(3000, () => {
console.log('Server running at http://localhost:3000/');
});
使用PM2啟動集群模式。假設你想在4個CPU核心上運行你的應用:
pm2 start app.js -i 4
-i 4
參數表示使用4個實例來運行你的應用。
你可以使用以下命令查看集群的狀態:
pm2 status
PM2提供了豐富的監控和管理功能。例如,你可以查看應用的日志:
pm2 logs
你也可以停止、重啟或刪除某個實例:
pm2 stop app
pm2 restart app
pm2 delete app
為了更好地管理集群配置,你可以創建一個PM2配置文件(例如ecosystem.config.js
):
module.exports = {
apps: [{
name: 'my-app',
script: 'app.js',
instances: 4,
autorestart: true,
watch: false,
max_memory_restart: '1G',
env: {
NODE_ENV: 'development'
},
env_production: {
NODE_ENV: 'production'
}
}]
};
然后使用以下命令啟動應用:
pm2 start ecosystem.config.js --env production
PM2會自動處理負載均衡,確保每個實例都能均勻地處理請求。
通過以上步驟,你就可以在CentOS上成功搭建一個Node.js集群。PM2的強大功能和易用性使其成為管理和擴展Node.js應用的首選工具。