记录用pm2启动nestjs项目

1,666 阅读2分钟

上一篇:记录云服务器上安装node - 掘金 (juejin.cn)

下一篇:记录使用jenkins部署node项目,如何在shell文件中执行npm命令 - 掘金 (juejin.cn)

注:当前pm2版本 5.3.0

一、安装pm2

npm install -g pm2

二、创建pm2的启动配置文件 app.json

{
  "apps": [
    {
      "name": "nestDemo",
      "script": "dist/main.js"
    }
  ]
}

如果要启动多个项目,可以在apps数组中添加项目,name是我们设置的项目名称,script是启动的入口文件路径。

把这个app.json放在nestjs项目中。

三、启动项目

pm2 start app.json

image.png

看到这样的输出信息代表 启动成功了。

四、pm2的自动启动

pm2的好处是,如果某个进程死掉了,pm2可以给我们重启进程,但是如果服务器重启了,pm2是死掉的状态,是不会自动启动的,所以我们要配置一下:

1. 执行

pm2 startup

image.png

2.根据提示执行

有时上一步之后,pm2还会提示执行某些其他的命令行,只要根据提示执行就可以了,这里提示我们执行pm2 save

pm2 save --force

image.png

到此pm2的配置就结束了。

五、pm2常用命令

pm2 start app.js --name="fx67ll" 启动并命名为fx67ll,没有命名的话后续可以用id替代name
pm2 start app.js --watch 当文件变化时自动重启应用
pm2 start script.sh 启动bash脚本
pm2 list 查看所有启动的应用列表
pm2 monit 显示每个应用程序的CPU和内存占用情况
pm2 show [app-id/app-name] 显示指定应用程序的所有信息
pm2 log 显示应用程序的日志信息
pm2 log [app-id/app-name] 显示指定应用程序的日志信息
pm2 flush 清空所有日志文件
pm2 stop all 停止所有应用程序
pm2 stop [app-id/app-name] 停止指定应用程序
pm2 restart all 重启所有应用程序
pm2 restart [app-id/app-name] 重启指定应用程序
pm2 delete all 关闭并删除所有应用程序
pm2 delete [app-id/app-name] 删除指定的应用程序
pm2 reset [app-id/app-name] 重置重启数量
pm2 startup 创建开机自启动命令
pm2 save 保存当前应用列表
pm2 resurrect 重新加载保存的应用列表
pm2 update 保存进程,杀死并重启进程,一般用于更新pm2版本

参考视频

使用 PM2 部署 Nodejs 项目_哔哩哔哩_bilibili

上一篇:记录云服务器上安装node - 掘金 (juejin.cn)

下一篇:记录使用jenkins部署node项目,如何在shell文件中执行npm命令 - 掘金 (juejin.cn)