1.通过 http 提供静态文件

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

2.命令行界面

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

  1. pm2 serve <path> <port>

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

3.流程文件

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

  1. module.exports = {
  2. script: "serve",
  3. env: {
  4. PM2_SERVE_PATH: '.',
  5. PM2_SERVE_PORT: 8080
  6. }
  7. }

您只需要在env 变量中添加PM2_SERVE_PATHPM2_SERVE_PORT以指定路径和端口,默认值与 CLI 相同。

4.服务 SPA:全部重定向到 index.html

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

  1. pm2 serve --spa

通过进程文件:

  1. module.exports = {
  2. script: "serve",
  3. env: {
  4. PM2_SERVE_PATH: '.',
  5. PM2_SERVE_PORT: 8080,
  6. PM2_SERVE_SPA: 'true',
  7. PM2_SERVE_HOMEPAGE: './index.html'
  8. }
  9. }

5.使用密码保护访问

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

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

通过进程文件:

  1. module.exports = {
  2. script: "serve",
  3. env: {
  4. PM2_SERVE_PATH: '.',
  5. PM2_SERVE_PORT: 8080,
  6. PM2_SERVE_BASIC_AUTH: 'true',
  7. PM2_SERVE_BASIC_AUTH_USERNAME: 'example-login',
  8. PM2_SERVE_BASIC_AUTH_PASSWORD: 'example-password'
  9. }
  10. }