透過 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_PATH
和 PM2_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'
}
}