Node.js 应用在 Linux 上如何实现集群部署
导读:在 Linux 上部署 Node.js 应用以实现高可用性和负载均衡,可以使用 Node.js 内置的 cluster 模块或第三方工具如 PM2。以下是这两种方法的详细步骤: 方法一:使用 Node.js 内置的 cluster 模块...
在 Linux 上部署 Node.js 应用以实现高可用性和负载均衡,可以使用 Node.js 内置的 cluster
模块或第三方工具如 PM2。以下是这两种方法的详细步骤:
方法一:使用 Node.js 内置的 cluster
模块
-
创建一个简单的 Node.js 应用
假设你已经有一个简单的 Node.js 应用,例如
app.js
:const http = require('http'); const server = http.createServer((req, res) => { res.writeHead(200); res.end('Hello World\n'); } ); server.listen(3000, () => { console.log('Server running at http://localhost:3000/'); } );
-
使用
cluster
模块创建集群修改
app.js
文件,使用cluster
模块来创建多个工作进程: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 const server = http.createServer((req, res) => { res.writeHead(200); res.end('Hello World\n'); } ); server.listen(3000, () => { console.log(`Worker ${ process.pid} started`); } ); }
-
运行应用
在终端中运行以下命令来启动应用:
node app.js
这将启动多个工作进程,每个进程都会监听同一个端口(3000),从而实现负载均衡。
方法二:使用 PM2
PM2 是一个功能强大的 Node.js 进程管理工具,可以轻松实现集群部署。
-
安装 PM2
使用 npm 安装 PM2:
npm install pm2 -g
-
启动应用
使用 PM2 启动你的 Node.js 应用,并指定要启动的工作进程数量:
pm2 start app.js -i < number_of_workers>
例如,如果你想启动 4 个工作进程,可以运行:
pm2 start app.js -i 4
-
查看应用状态
使用以下命令查看应用的运行状态:
pm2 status
-
监控和管理
PM2 提供了许多有用的命令来监控和管理你的应用,例如:
-
查看日志:
pm2 logs
-
停止应用:
pm2 stop app
-
重启应用:
pm2 restart app
-
删除应用:
pm2 delete app
-
通过以上两种方法,你可以在 Linux 上实现 Node.js 应用的集群部署,从而提高应用的可用性和性能。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Node.js 应用在 Linux 上如何实现集群部署
本文地址: https://pptw.com/jishu/719737.html