最近用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 savepm2 startup如果不行就sudo pm2 startup
windows
windows比较麻烦,要先装pm2-windows-startup,
npm install pm2-windows-startup -gpm2-startup installpm2 save