nodejs 防宕机_pm2实战,让你的nodejs、koa2应用永远不会宕机

本文介绍了如何使用PM2实现Node.js应用的防宕机、流程管理和日志管理。通过配置`ecosystem.config.js`文件,可以实现应用的持久化、自动重启、忽略目录监控等功能,并提供了启动、管理应用的常用PM2指令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么用?

持久化:一旦开始使用,您的应用将达到持久化,在崩溃和机器重启时自启动。

流程管理 : 您所有的应用都被守护进程

日志管理 所有的应用日志都会保存到您的服务器硬盘中~/.pm2/logs/。

零配置负载均衡器 pm2通过创建多个共享相同服务器端口的子进程来扩展您的应用。这样您可以在停机时间为零的情况下重启您的应用。

终端内监控 在终端中监控您的应用以检查您的应用运行状况(CPU使用情况,内存使用,请求/分钟以及更多)

使用SSH轻松部署 :自动完成部署,不需一对一的ssh服务器连接。

Docker化

安装pm2

使用yarn:

yarn global add pm2

使用npm:

npm install pm2 -g

在debian操作系统下,使用安装脚本:

apt update && apt install sudo curl && curl -sL https://raw.githubusercontent.com/Unitech/pm2/master/p

实战演练

新建一个ecosystem.config.js文件,基本配置如下,这里以koa2项目为例

module.exports = {

apps: [{

// Application #1

name: "project name",

script: "./bin/www.js",

out_file: "./log/blog-out.log",

log_date_format: "YYYY-MM-DD HH:mm Z",

error_file: "./log/blog-err.log",

merge_logs: true,

watch: true,

env: {

"NODE_ENV": "development",

"AWESOME_SERVICE_API_TOKEN": "xxx"

},

env_production: {

"NODE_ENV": "production"

},

ignore_watch : ["node_modules", "src/utils/data", "src/utils/docs","src/controllers/backtend/uploads","public","logs","log"],

}]

}

重点步骤详解

name:应用的名称,后续通过名称直接操作应用

script :执行的脚本,如原来 node start ./bin/www 那么这里就是"./bin/www.js"

watch:是否让pm2监视源码目录的变化,有变化自动重启启动

ignore_watch:忽略哪些目录不监控,根据个人情况配置

启动,配置好之后执行如下脚本

pm2 start ecosystem.config.js --env production

常用指令

pm2 list :列举所有应用

pm2 monit:开启监控面板

pm2 start|restart|stop|delete appname :开启、重启、停止、删除应用

pm2 flush:清空日志

pm2 logs:查看日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值