前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PM2用监控模式实时更新Node.js项目!

PM2用监控模式实时更新Node.js项目!

原创
作者头像
Learn-anything.cn
发布2021-11-26 11:01:40
2.8K0
发布2021-11-26 11:01:40
举报
文章被收录于专栏:learn-anything.cn
一、问题简介

监控目录下所有文件,只要有文件更新就立刻重启。

二、解决方案
1、--watch
  • 监控项目目录下所有文件,任意文件有改动,就自动重启 node.js 项目。
代码语言:txt
复制
# 1、安装 pm2
npm install pm2 @latest -g
# or
yarn global add pm2

# 2、转到 node.js 项目根目录下
cd < 项目根目录 >

# 3、用 pm2 启动 node.js 项目,项目目录下有文件改动就重启
pm2 start app.js--watch

# 现在就可以正常访问 node.js 项目了,且可以查看项目状态
pm2 list
pm2 log
2、--ignore-watch
  • 可以去除一些不需要监控的目录或文件。
代码语言:txt
复制
# 监控除了  node_modules 目录以外文件
pm2 start app.js --watch --ignore-watch="node_modules"
3、配置文件中设置监控的方法
  • 情况1:监控和忽略具体文件
代码语言:txt
复制
module.exports = {
    script: "app.js",
    // 监控这两个文件夹
    watch: ["server", "client"],
    // 监控时间间隔
    watch_delay: 1000,
    // 忽略这两个文件夹
    ignore_watch: ["node_modules", "client/img"],
}
  • 情况2:监控项目目录下所有文件
代码语言:txt
复制
module.exports = {
    script: "app.js",
    watch: true
}
三、restart 与 reload 区别
  • restart 会杀掉现有进程 并 启动新进程,服务会中断;
  • reload 不会杀掉现有进程,在现有进程重新加载,服务不会中断;
代码语言:txt
复制
# 只有 app_name 这个应用被reload
pm2 reload <app_name>

# 配置文件中所有应用都被reload
pm2 reload process.json

# 只有配置文件中的api应用被reload
pm2 reload process.json --only api
四、参考文档

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、问题简介
  • 二、解决方案
    • 1、--watch
      • 2、--ignore-watch
        • 3、配置文件中设置监控的方法
        • 三、restart 与 reload 区别
        • 四、参考文档
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档