PM2 管理本地单页面应用

696 阅读1分钟

最近用parcel打包了静态页面,我又不想用弄node服务器去管理,毕竟还需要持久化和自启动嘛。所以我还是用了比较熟悉的pm2最为管理。

静态服务器启动单页面

因为pm2也有serve,但是pm2自带的serve并不兼容单页面,刷新就会404,只能访问根目录,所以我们要指向node的serve,这里我是直接安装serve
因为我这个到时不知道别人会安装到哪里去,所以我项目也装了个serve,用项目去启动就好了
打包后文件在./dist,我在根目录建了一个ecosystem.config.js,已端口9000启动,终端执行pm2 start ecosystem.config.js 就能看到项目启动了

module.exports = {
  apps: [
    {
      name: "web",
      script: './node_modules/serve/bin/serve.js',
      args: '-p 9000 -s ./dist',
      env_production: {
        NODE_ENV: "production", //使用production模式 pm2 start ecosystem.config.js --env production
      },
    },
  ]
}

pm2 自启动

这个是需要分mac和windows的,在服务启动情况下,可以用pm2 list查看,然后执行

mac

  • pm2 save
  • pm2 startup 如果不行就 sudo pm2 startup

windows

windows比较麻烦,要先装pm2-windows-startup,

  • npm install pm2-windows-startup -g
  • pm2-startup install
  • pm2 save