PM2——node服务进程管理

pm2 是一个用于 node 环境的进程管理器。这篇文章只记录我自己用到的部分。详情可查看相关文档。

中文文档:https://wohugb.gitbooks.io/pm2/content/features/quick-start.html

英文文档:https://pm2.keymetrics.io/docs/usage/quick-start/

启动服务

pm2 start app.js --watch

以上命令可以启动当前目录入口文件为 app.js 的应用。后面的参数 –watch 表示监听文件改动。类似 webpack 的 hot module。

还有很多其他参数,比如 –name 可以设置应用名称。

配置文件

除了命令行指定参数,还可以通过配置文件的形式启动服务。这对多参数很友好。比如:

// pm2.config.js
module.exports = {
  apps: [
    {
      name: 'ssr',
      script: 'app.js',
      watch: true,
      ignore_watch: ['tmp']
    }
  ]
}

查看服务

pm2 list // 查看服务列表
pm2 log // 查看日志
pm2 log app_id/app_name // 查看指定应用的日志

停止服务

pm2 stop app_id/app_name // 停止指定服务
pm2 stop all // 停止所有服务

删除服务

pm2 delete app_id/app_name // 移除指定服务
pm2 delete all // 移除所有服务

linux 服务自启动

pm2 save // 保存当前服务列表
pm2 startup // 设置开机自启动脚本
pm2 unstartup [systemd] // 删除开机自启动脚本