最近公司开始用 nuxt 框架做项目了,在部署到服务器时,需要用到 pm2 来守护进程,因为运维不给力,这个工作又落到我的头上了(╯﹏╰)

不过我也不慌,多学一些技术也没什么不好,下面分享一些 pm2 的基本介绍和使用方法吧~


PM2 是一个带有负载均衡功能的 Node 应用进程管理器,主要特性:

  • 内建负载均衡(使用 Node cluster 集群模块)

  • 后台运行

  • 0 秒停机重载

  • 具有 Ubuntu 和 CentOS 的启动脚本

  • 停止不稳定的进程(避免无限循环)

  • 控制台检测

  • 提供 HTTP API

  • 远程控制和实时的接口 API(Nodejs 模块,允许和 PM2 进程管理器交互)

安装

npm install pm2 -g

启动 nuxt 项目并守护进程

pm2 start npm --name "portal" -- run start

pm2 常用命令

pm2 list // 查看任务列表

pm2 stop app_name|app_id // 停止指定name或者id的任务

pm2 stop all // 停止所有任务

pm2 delete app_name|app_id // 删除指定name或者id的任务

pm2 delete all // 删除所有任务

pm2 logs // 查看日志

pm2 kill // 杀死pm2进程

需要注意的一点是,用 pm2 守护的进程不能按进程号 kill,kill 掉之后马上 pm2 就会重新启动一个新的进程,只能通过 pm2 自带的命令来操作。