透過 http 公開靜態檔案

透過 http 提供靜態檔案

PM2 可以透過 pm2 serve 功能非常輕鬆地提供靜態檔案。它支援從指定資料夾提供原始檔案,或者您可以使用它提供 SPA(單頁面應用程式)。

CLI

使用簡單的指令透過 http 提供您的靜態檔案(例如前端應用程式)

pm2 serve <path> <port>

如果您沒有明確指定 <path>,則將使用目前的資料夾,預設埠為 8080。您可以使用與一般應用程式相同的選項,例如 --name--watch

程序檔案

您可以在程序檔案中宣告您想要提供特定的目錄,方法如下

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

您只需將 PM2_SERVE_PATHPM2_SERVE_PORT 新增到環境變數中,即可指定路徑和埠,預設值與 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-username--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'
  }
}
為此頁面做出貢獻