node进程管理工具pm2

PM2是Node.js的进程管理工具,确保程序在Linux环境下持续运行。它提供了安装、启动、查看日志、监控及重启程序等功能,避免手动管理的不便。文章介绍了在CentOS7上使用PM2的基本操作,包括安装、启动、查看日志和程序监控等。

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

pm2

最近的项目接触到node在linux环境下的部署,使用node app.js启动程序很容易挂掉,且需要手动重启,这就需要使用pm2。

pm2是nodejs进程管理工具,可以让node程序持续运行,github star 已有1.8W+,同类型的产品有forever

常用命令

# 常用
npm install pm2 -g            # 全局安装PM2
pm2 start app.js              # 启动node程序

# 群集模式 (Node.js only)
pm2 start app.js -i n         # 开启n个进程
pm2 start app.js -i 0         # 启用最大进程
pm2 start app.js -i max       # 启用最大进程

pm2 reload all                # 0秒重启
pm2 scale [app-name] 10       # [app-name] 程序开启10个进程

# 进程监控
pm2 list                      # 所有PM2进程列表
pm2 monit                     # 显示每个app程序占用存储空间及cpu使用率
pm2 show [app-name]           # 显示[app-name]所有信息

# 日志管理
pm2 logs                      # 显示所有app的日志信息
pm2 logs [app-name]           # 显示特定app(app-name)日志
pm2 logs --json               # 日志以json格式输出
pm2 flush
pm2 reloadLogs

# 进程状态管理
pm2 start app.js --name="api" # 启动名为api的程序
pm2 start app.js -- -a 34     # 启动程序并传入参数 "-a 34"
pm2 start app.js --watch      # Restart application on file change
pm2 start script.sh           # 启动脚本
pm2 start app.json            # 启动app.json里所有定义的程序
pm2 reset [app-name]          # Reset all counters
pm2 stop all                  # 停止所有app
pm2 stop 0                    # 停止id为0的进程
pm2 restart all               # 重启所有进程
pm2 gracefulReload all        # 以群集模式重新加载所有程序
pm2 delete all                # 杀死并删除所有进程
pm2 delete 0                  # 删除id为0的进程

# 启动管理
pm2 startup                   # 检测初始化系统,在启动时生成并配置pm2引导
pm2 save                      # 保存当前进程列表
pm2 resurrect                 # 恢复之前保存的进程
pm2 unstartup                 # 禁用并删除启动系统

pm2 update                    # 先保存进程,kill PM2后再回复进程
pm2 generate                  # 生成一个示例json配置文件

在linux环境测试

centos7上启动node demo。

安装pm2

npm install pm2 -g

安装完成后,系统会创建以下目录。
默认隐藏,linux下ls -a显示

$HOME/.pm2 will contain all PM2 related files
$HOME/.pm2/logs will contain all applications logs
$HOME/.pm2/pids will contain all applications pids
$HOME/.pm2/pm2.log PM2 logs
$HOME/.pm2/pm2.pid PM2 pid
$HOME/.pm2/rpc.sock Socket file for remote commands
$HOME/.pm2/pub.sock Socket file for publishable events
$HOME/.pm2/conf.js PM2 Configuration

启动程序

在项目目录下,执行

pm2 start app.js

img

查看日志

pm2 logs

控制台输出PM2日志和程序日志信息。同时日志也会输出到相关文件,如PM2日志输出路径/root/.pm2/pm2.log;
程序日志路径/root/.pm2/logs/app-error-0.log last 15 lines:
/root/.pm2/logs/app-out-0.log last 15 lines:

img

程序监控

pm2 monit

img

可以监控进程内存占用空间以及CPU使用率。

重启程序

当项目更新时,如修改路由或配置文件,需要重启。

pm2 restart `id`

更新PM2

首先保存当前所有进程

pm2 save

更新最新版本

npm install pm2@latest -g

更新内存里的进程

 pm2 update
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值