PM2进程管理器

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

一、概述

PM2是一个带有负载均衡功能的Node.js应用的进程管理器。它允许你永远保持应用的存活,重新加载无需停机。

二、安装PM2

$ npm install pm2 -g

注:需要安装Node.js、npm

三、启动Node.js应用

$ pm2 start app.js

四、更新PM2

$ pm2 update

五、主要特点

1、命令概述
# 常用
$ npm install pm2 -g            # 安装 PM2
$ pm2 start app.js              # 启动 守护进程 并且 重启应用 (Node)
$ pm2 start app.py              # 启动 守护进程 并且 重启应用 (Python)
$ pm2 start npm -- start        # 启动 守护进程 并且 重启应用

# 集群模式 (仅限Node.js)
$ pm2 start app.js -i 4         # 在集群模式下启动4个应用实例
                                # 它将加载平衡网络查询到每个应用程序
$ pm2 reload all                # 0 秒停机重新加载
$ pm2 scale [app-name] 10       # 扩展 10个进程到集群中

# 进程监控
$ pm2 list                      # 使用PM2列出所有的过程
$ pm2 monit                     # 显示应用程序的内存和CPU的使用情况
$ pm2 show [app-name]           # 显示[app-name]应用程序的信息

# 日志管理
$ pm2 logs                      # 显示所有应用程序的日志
$ pm2 logs [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      # 监控文件变化并重启
$ pm2 start script.sh           # 启动bash脚本
$ pm2 start app.json            # 通过配置文件启动应用
$ pm2 reset [app-name]          # 重置所有计数器
$ pm2 stop all                  # 停止所有的应用程序
$ pm2 stop 0                    # 停止进程id为0的应用
$ pm2 restart all               # 重新启动所有的应用程序
$ pm2 gracefulReload all        # 在集群模式下优雅重载所有应用程序
$ pm2 delete all                # 杀死和删除所有应用程序
$ pm2 delete 0                  # 杀死进程id为0的应用

# 启动/启动管理
$ pm2 startup                   # 检测系统初始化,生成和启动配置PM2 boot
$ pm2 save                      # 保存当前进程列表
$ pm2 resurrect                 # 恢复以前保存进程
$ pm2 unstartup                 # 禁用和删除启动系统

$ pm2 update                    # 保存进程, 杀死 PM2 并 恢复进程
$ pm2 generate                  # 生成JSON配置文件示例

# 部署
$ pm2 deploy app.json prod setup    # 设置 "prod" 远程服务器
$ pm2 deploy app.json prod          # 更新 "prod" 远程服务器
$ pm2 deploy app.json prod revert 2 # 回复2 "prod" 远程服务器

# 系统模块
$ pm2 module:generate [name]    # 以[name]生成示例模块
$ pm2 install pm2-logrotate     # 安装模块(这里有一个日志轮换系统)
$ pm2 uninstall pm2-logrotate   # 卸载模块
$ pm2 publish                   # 增加版本号,git push和NPM发布
2、进程管理器
pm2 list
image.png
pm2 monit

https://static.oschina.net/uploads/space/2017/0222/163300_aHGM_1251467.png

想了解更多的知识,可以查阅官方网站 http://pm2.keymetrics.io/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容