一、问题简介

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


二、解决方案
1、--watch
  • 监控我的项目目录下所有文件,任意文件有改变,就主动重启 node.js 我的项目。

    # 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
  • 能够去除一些不须要监控的目录或文件。

    # 监控除了  node_modules 目录以外文件  pm2 start app.js --watch --ignore-watch="node_modules"
3、配置文件中设置监控的办法
  • 状况1:监控和疏忽具体文件

    module.exports = {    script: "app.js",    // 监控这两个文件夹    watch: ["server", "client"],    // 监控工夫距离    watch_delay: 1000,    // 疏忽这两个文件夹    ignore_watch: ["node_modules", "client/img"],}
  • 状况2:监控我的项目目录下所有文件

    module.exports = {    script: "app.js",    watch: true}

三、restart 与 reload 区别
  • restart 会杀掉现有过程 并 启动新过程,服务会中断;
  • reload 不会杀掉现有过程,在现有过程从新加载,服务不会中断;

    # 只有 app_name 这个利用被reload  pm2 reload <app_name>    # 配置文件中所有利用都被reload  pm2 reload process.json    # 只有配置文件中的api利用被reload  pm2 reload process.json --only api

四、参考文档
  • PM2用监控模式实时更新Node.js我的项目!