通过 http 提供静态文件

PM2 可以使用该 pm2 serve 功能非常轻松地提供静态文件。它支持从指定文件夹提供原始文件,或者您可以使用它提供 SPA(单页应用程序)。

https://pm2.keymetrics.io/docs/usage/expose/

命令行界面

使用一个简单的命令通过 http 服务您的静态文件(如前端应用程序):

pm2 serve <path> <port>

如果您不精确 <path>,将使用当前文件夹,默认端口为8080。您可以使用与普通应用程序相同的选项,例如--name--watch

Process 文件

您可以在 Process 文件中声明您希望提供一个特殊的目录,这样做:

module.exports = {
  script: "serve",
  env: {
    PM2_SERVE_PATH: '.',
    PM2_SERVE_PORT: 8080
  }
}

你只需要添加PM2_SERVE_PATHPM2_SERVE_PORT到env变量来指定路径和端口,默认与CLI相同。

服务 SPA:将所有重定向到 index.html

要自动将所有查询重定向到 index.html,请使用以下--spa选项:

pm2 serve --spa

通过进程文件:

module.exports = {
  script: "serve",
  env: {
    PM2_SERVE_PATH: '.',
    PM2_SERVE_PORT: 8080,
    PM2_SERVE_SPA: 'true',
    PM2_SERVE_HOMEPAGE: './index.html'
  }
}

使用密码保护访问

要基本保护对公开文件的访问,您可以使用 --basic-auth-usernameand --basic-auth-password

pm2 serve --basic-auth-username <username> --basic-auth-password <password>

通过进程文件:

module.exports = {
  script: "serve",
  env: {
    PM2_SERVE_PATH: '.',
    PM2_SERVE_PORT: 8080,
    PM2_SERVE_BASIC_AUTH: 'true',
    PM2_SERVE_BASIC_AUTH_USERNAME: 'example-login',
    PM2_SERVE_BASIC_AUTH_PASSWORD: 'example-password'
  }
}
作者:Jeebiz  创建时间:2023-02-25 22:13
最后编辑:Jeebiz  更新时间:2023-02-26 22:38