跳到主要内容

pm2

信息

pm2(process manager)是一个进程管理工具,维护一个进程列表,可以用它来管理你的node进程,负责所有正在运行的进程,并查看node进程的状态,也支持性能监控,负载均衡等功能。

安装


npm install pm2 -g

常用命令

 # 启动程序
pm2 start start.js

# 启动程序指定程序名
pm2 start app.js --name 官网

# 集群式启动
# i 表示 实例数量 max pm2 指定cpm 的数量 也可以自己指定
pm2 start app.js -i max


# 添加监控
pm2 start app.js --watch

# 查看所有进程
pm2 list

# 删除进程 名称或者ID
pm2 delete name

# 删除所有进程
pm2 delete all

# 查看进程状态
pm2 descibe name

# 查看资源消耗情况
pm2 monit

# 重启进程
pm2 restart

# 关闭进程
pm2 stop name

# 设置开机启动 ,其他系统替换最后一个选项(可选项:ubuntu, centos, redhat, gentoo, systemd, darwin, amazon)
pm2 startup centos

# 保存配置 重要 不然电脑重启所有都失效
pm2 save

配置文件启动部署项目

项目跟目录配置


# deploy.yaml

apps:

- script: ./start.js # 入口文件

name: 'app' # 程序名称

env: # 环境变量

COMMON_VARIABLE: true

env_production:

NODE_ENV: production



deploy: # 部署脚本

production: # 生产环境

user: kevin # 服务器的用户名

host: 192.168.1.11 # 服务器的ip地址

port: 22 # ssh端口

ref: origin/master # 要拉取的git分支

ssh_options: StrictHostKeyChecking=no # SSH 公钥检查

repo: https://github.com/**.git # 远程仓库地址

path: /home # 拉取到服务器某个目录下

pre-deploy: git fetch --all # 部署前执行

post-deploy: npm install && pm2 reload deploy.yaml --env production # 部署后执行

env:

NODE_ENV: production