开发工具

PM2附带两个开发工具,可以帮助开发:热重载模式和静态文件服务器。

热重载模式

监听当前目录,发现文件改动则自动重启。

配置ecosystem.config.js开启:

module.exports = {
  apps : [{
    name: "app",
    script: "./app.js",
    watch: true,
  }]
}

注意,热重载模式会导致硬重启,并且不会发送SIGINT信号。

配置监听选项

可以使用高级选项指定监听路径,和指定忽略的路径。

module.exports = {
  apps : [{
    name: "app",
    script: "./app.js",
    watch: ".",
  }]
}

当使用NFS时,要按照此chokidar issue设置usePolling: true

使用CLI

可以使用CLI开启监听模式:

pm2 start app.js --watch

但是,注意,当使用--watch时开启监听模式时,必须使用pm2 stop --watch <app_name>来停止该进程,否则不会停止监听模式。

HTTP服务提供静态文件

PM2可以通过HTTP提供静态文件(如前端应用程序):

pm2 serve <path> <port>

pathport的默认值分别是 当前路径 和 8080,可以直接使用:

pm2 serve

在生态系统文件中配置:

module.exports = {
  apps: [{
    name: "static-file",
    script: "serve",
    env: {
      PM2_SERVE_PATH: ".",
      PM2_SERVE_PORT: 8080,
    },
  }]
}

并使用它启动:

pm2 start ecosystem.config.js

这里所有的PM2配置选项都是可用的。

下一步

使用SSH快速部署