1. pm2 简介

PM2 是一款非常优秀的 Node 进程管理工具,它有着丰富的特性:能够充分利用多核 CPU且能够负载均衡、能够帮助应用在崩溃后、指定时间(cluster model)和超出最大内存限制等情况下实现自动重启。

PM2 是开源的基于 Nodejs 的应用进程管理器,包括守护进程,监控,日志的一整套完整的功能

PM2 是一个带有负载均衡功能的 Node 应用进程管理器

2. pm2的主要特性

  • 内建负载均衡(使用 Node cluster 集群模块)
  • 后台运行
  • 0 秒停机重载,我理解大概意思是维护升级的时候不需要停机.
  • 具有 Ubuntu 和 CentOS 的启动脚本
  • 停止不稳定的进程(避免无限循环)
  • 控制台检测
  • 提供 HTTP API
  • 远程控制和实时的接口 API(Nodejs 模块,允许和 PM2 进程管理器交互)

3. 常用命令

3.1 pm2的安装与更新

在使用pm2之前,我们还需要安装nodejs,这是前提
下载nodejs:下载 | Node.js
如何安装nodejs:请参考node安装

3.1.1 pm2安装

npm install pm2 -g

yarn global add pm2

3.1.2 pm2更新

pm2 updated

3.2 pm2 启动运行指定的程序

通过pm2启动应用程序服务,守护进程

3.2.1 正常启动应用程序

pm2 start app.js
pm2 start index.js

3.3 pm2 停止指定运行的程序

通过pm2停止正在运行的程序

pm2 stop [AppName]

3.3.1 停止特定的应用

根据应用名停止指定应用

pm2 stop [ID]

3.3.2 停止所有的应用

停止所有进程

pm2 stop all

3.4 重启所有进程

3.4.1 重新启动

restart命令同时杀死并重启所有进程。短时间内服务不可用。生成环境推荐使用reload

pm2 restart all

3.4.2 0秒停机重载

重新启动所有进程,始终保持至少一个进程在运行

pm2 reload app.js

3.5 删除应用程序

删除应用程序,就是不在让pm2维护这个应用程序

3.5.1 删除指定的应用程序

根据应用名关闭并删除应用

pm2 delete [AppName]
  • 根据应用ID关闭并删除应用
pm2 delete [ID]

3.5.2 删除所有的应用

  • 关闭并删除所有的应用
pm2 delete all

3.6 显示所有进程状态

pm2 list

3.7 显示日志

3.7.1 显示所有应用程序的日志

pm2 logs

3.7.2 显示特定的进程日志

  • 指定应用名查看应用日志
pm2 logs [Name]
  • 指定应用ID查看应用日志
pm2 logs [ID]

3.8 查看每个应用占用情况

pm2 monit

3.9 显示应用程序所有信息

  • 根据name查看
pm2 show [Name]
  • 根据id查看
pm2 show [ID]

原文链接:https://blog.csdn.net/sunyctf/article/details/130655852