在CentOS系统下配置Node.js的集群,可以使用Node.js内置的cluster
模块。这个模块允许你创建多个工作进程,这些进程共享同一个服务器端口,从而实现负载均衡和高可用性。
以下是一个简单的示例,展示如何在CentOS上使用cluster
模块配置Node.js应用程序:
安装Node.js: 如果你还没有安装Node.js,可以使用以下命令安装:
sudo yum install -y nodejs npm
创建Node.js应用程序:
创建一个简单的Node.js应用程序文件,例如app.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.js应用程序:
node app.js
这个应用程序会在所有可用的CPU核心上创建工作进程,并且每个工作进程都会监听同一个端口(8000)。
验证集群状态: 你可以使用以下命令查看当前运行的Node.js进程:
ps aux | grep node
你应该会看到一个主进程和多个工作进程。
负载均衡:
cluster
模块会自动处理负载均衡,将请求分发到不同的工作进程。你可以使用浏览器或工具(如curl
)访问你的应用程序,验证负载均衡是否正常工作。
通过这种方式,你可以在CentOS上配置Node.js的集群,实现高可用性和负载均衡。如果你需要更高级的功能,可以考虑使用像PM2这样的进程管理工具,它提供了更多的功能和更好的管理界面。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: CentOS Java应用如何优化