扫码一下
查看教程更方便
PM2 可以使用 pm2 serve 功能非常轻松地提供静态文件。 它支持从指定文件夹提供原始文件,或者您可以使用它提供 SPA(单页应用程序)。
使用简单的命令通过 http 提供你的静态文件(如前端应用程序):
$ pm2 serve <path> <port>
如果不指定<path>,将使用当前文件夹,对于端口,默认值为 8080。你还可以使用与普通应用程序相同的选项,如 --name 或 --watch。
我们在 workspace/node/static 目录中新建 index.html 文件,内容如下
index.html<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>迹忆客(jiyik.com)</title> </head> <body> <h1>我的 pm2 serve 静态文件</h1> </body> </html>
使用下面命令开启服务
$ pm2 serve ./static 8081
打开浏览器,地址栏输入 http://127.0.0.1:8081/index.html 结果如下

您可以在 process 文件中声明您希望提供一个特殊的目录:
process.jsmodule.exports = { script: "serve", env: { PM2_SERVE_PATH: './static', PM2_SERVE_PORT: 80811 }
只需要在 env 变量中添加 PM2_SERVE_PATH 和 PM2_SERVE_PORT 来指定路径和端口,默认与CLI相同。
要自动将所有查询重定向到 index.html,请使用 --spa 选项:
$ pm2 serve --spa
也可以通过 process 文件
module.exports = {
script: "serve",
env: {
PM2_SERVE_PATH: './static',
PM2_SERVE_PORT: 8081,
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>
也可以通过 process 文件
module.exports = {
script: "serve",
env: {
PM2_SERVE_PATH: './static',
PM2_SERVE_PORT: 8081,
PM2_SERVE_BASIC_AUTH: 'true',
PM2_SERVE_BASIC_AUTH_USERNAME: 'example-login',
PM2_SERVE_BASIC_AUTH_PASSWORD: 'example-password'
}
}