PM2 使用教程

一、PM2简介

PM2 是一个流行的Node.js应用程序的进程管理器,它可以帮助开发者轻松地管理Node.js应用程序的启动、停止、重启、日志记录、负载均衡等操作。PM2的主要特点包括:

  • 应用程序的自动重启
  • 日志管理
  • 负载均衡
  • 监控和控制
  • 集群模式
  • 生产环境部署

二、安装PM2

1. 全局安装PM2

1
npm install pm2 -g

2.检查PM2版本

1
pm2 --version

三、基本用法

1.启动应用程序

1
pm2 start app.js

2.查看所有进程

1
pm2 list

3.查看进程详情

1
pm2 show <id|name>

4.停止进程

1
pm2 stop <id|name>

5.重启进程

1
pm2 restart <id|name>

6.删除进程

1
pm2 delete <id|name>

7.停止所有进程

1
pm2 stop all

8.重启所有进程

1
pm2 restart all

9.删除所有进程

1
pm2 delete all

四、日志管理

1.查看所有进程的日志

1
pm2 logs

2.查看特定进程的日志

1
pm2 logs <id|name>

3.清空日志

1
pm2 flush

五、集群模式

1.启动多个实例

1
pm2 start app.js -i max

2.查看集群状态

1
pm2 show <id|name>

3.停止集群中的所有实例

1
pm2 stop <id|name>

4.重启集群中的所有实例

1
pm2 restart <id|name>

六、生态系统文件(Ecosystem File)

1.创建生态系统文件
创建一个名为ecosystem.config.js的文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
module.exports = {
apps: [
{
name: 'my-app',
script: './app.js',
instances: 'max',
autorestart: true,
watch: false,
max_memory_restart: '1G',
env: {
NODE_ENV: 'development',
},
env_production: {
NODE_ENV: 'production',
},
},
],
};

2.使用生态系统文件启动

1
pm2 start ecosystem.config.js

3.使用生态系统文件启动并指定环境

1
pm2 start ecosystem.config.js --env production

七、监控和控制

1.监控应用程序

1
pm2 monit

2.动态调整实例数量

1
pm2 scale <id|name> <number>

3.查看应用程序的CPU和内存使用情况

1
pm2 monit

八、生产环境部署

1.部署脚本
创建一个名为ecosystem.config.js的文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
module.exports = {
apps: [
{
name: 'my-app',
script: './app.js',
instances: 'max',
autorestart: true,
watch: false,
max_memory_restart: '1G',
env: {
NODE_ENV: 'production',
},
},
],
};

2.使用PM2部署

1
pm2 start ecosystem.config.js

3.保存当前的PM2进程列表

1
pm2 save

4.在服务器重启后恢复PM2进程

1
pm2 resurrect

九、常见问题

1.如何更新PM2?

1
2
npm install pm2@latest -g
pm2 update

2.如何查看PM2的帮助文档?

1
pm2 --help

3.如何查看PM2的配置文件?

1
pm2 show <id|name>

4.如何查看PM2的日志文件?

1
pm2 logs

十、总结

PM2是一个强大的Node.js进程管理器,它可以帮助开发者轻松地管理Node.js应用程序的启动、停止、重启、日志记录、负载均衡等操作。通过使用PM2,你可以更高效地管理和部署你的Node.js应用程序。

希望这份教程对你有所帮助!