pm2的使用

2023-7-4 Nodejs
  • Nodejs
大约 2 分钟

# pm2的简单使用

概述: PM2是具有内置负载平衡器的Node.js应用程序的生产过程管理器。它使您可以使应用程序永远保持活动状态,无需停机即可重新加载它们,并简化常见的系统管理任务。

# 1、安装;

  • 下载PM2 (opens new window)

  • 安装;npm install pm2 -g

  • 测试;出现以下类似列表说明安装成功;

    [root@iZbp156pkpio44mis76wmxZ herolist]# pm2 list
    ┌─────┬────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
    │ id  │ name   │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
    ├─────┼────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
    │ 0npm    │ default     │ N/A     │ fork    │ 0030   │ stopped   │ 0%       │ 0b       │ root     │ disabled │
    └─────┴────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
    [root@iZbp156pkpio44mis76wmxZ herolist]# cd /
    
    1
    2
    3
    4
    5
    6
    7

# 2、命令;

githup传送门 (opens new window)

# 安装pm2
cnpm install pm2 -g

# 启动服务
pm2 start app.js 

# 启动应用并设置name
pm2 start app.js --name demo 

# 停止服务
pm2 stop all # 停止所有应用
pm2 stop [AppName] # 根据应用名停止指定应用

# 删除应用
# 关闭并删除应用
pm2 delete all 

# 根据应用名关闭并删除应用
pm2 delete [AppName] 

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

# 创建开机自启动
pm2 startup

# 监听模式当文件发生变化,自动重启
pm2 start app.js --watch 

# 重新启动
pm2 restart app.js

# 更新PM2
pm2 updatePM2
pm2 update

# 静态服务器 将目录dist作为静态服务器根目录,端口为9090
pm2 serve ./dist 9090

# 启用群集模式(自动负载均衡)
pm2 start app.js -i max

# 0秒停机重新加载
# 重新启动所有进程,始终保持至少一个进程在运行
pm2 reload app.js 
# 优雅地以群集模式重新加载所有应用程序
pm2 gracefulReload all 

# 查看启动列表
pm2 list

# 日志查看
m2 logs  # 查看所有应用日志
pm2 logs [Name] # 根据指定应用名查看应用日志
pm2 logs [ID] # 根据指定应用ID查看应用日志

# 保存当前应用列表
pm2 save

# 重启保存的应用列表
pm2 resurrect

# 清除保存的应用列表
pm2 cleardump

# 监控;
pm2 monit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67

# 3、使用;

  1. **方式一;**pm2 启动 npm 脚本

    "scripts": {
      "test": "echo \"Error: no test specified\" && exit 1",
      "start": "nodemon app.js",
      "dev": "export NODE_ENV=production && node app.js"
    },
      
    简单用法
    1. npm run dev
    2. pm2 start npm -- run dev 注意: -- run之间有一个空格!!
    以上使用是等效的
    
    pm2 start npm --watch --name nickname -- run dev
    其中 --watch监听代码变化,--name 重命令任务名称,-- run后面跟脚本名字
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
  2. 方式二;pm2 启动 app.js; 命令:pm2 start app.js

  3. 方式三;pm2 根据配置文件启动npm脚本;

上次编辑于: 2023年7月4日 09:36