在 Linux 上配置 Node.js 集群可以通过多种方式实现,其中最常用的是使用 Node.js 内置的 cluster
模块。这个模块允许你创建多个工作进程,这些进程可以共享同一个服务器端口,从而提高应用程序的性能和可靠性。
以下是一个基本的示例,展示了如何使用 cluster
模块在 Linux 上配置 Node.js 集群:
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
这个脚本会创建一个主进程和多个工作进程,每个工作进程都会运行相同的代码,并且可以处理来自客户端的请求。
除了使用 Node.js 内置的 cluster
模块,你还可以考虑使用一些第三方工具来管理和监控你的 Node.js 集群,例如:
npm install pm2 -g
pm2 start server.js -i max
-i max
参数会根据 CPU 核心数自动启动相应数量的工作进程。
pm2 status
pm2 stop server.js
通过这些步骤,你可以在 Linux 上轻松配置和管理 Node.js 集群,从而提高应用程序的性能和可靠性。