nuxt部署
1、执行build脚本编译打包,编译好之后,会出现
.output文件夹2、在node环境中,执行
node .output/server/index.mjs来启动node服务
服务端渲染项目,因此需要启动服务来运行项目
-
具备node环境, 部署到 Node.js 服务器,可使用pm2
-
云服务商
- Vercel
- NuxtHub
- Netlify
pm2部署
-
ecosystem.config.cjs
-
ecosystem.config是pm2的配置文件
-
在项目根目录执行
npx pm2 init simple自动生成ecosystem.config.js文件 -
修改
ecosystem.config.js的后缀为.cjs并打开ecosystem.config.cjs文件进行配置
-
module.exports = {
apps: [
{
name: 'nuxt-ssr-demo',
port: '8888',
exec_mode: 'cluster',
instances: 'max',
# 打包后的文件,可通过 node .output/server/index.mjs 来启动node服务
script: './.output/server/index.mjs'
}
]
}
- 最后,使用 pm2 命令启动项目,在根目录命令行输入
npx pm2 start ecosystem.config.cjs。
pm2相关命令
# 启动服务
pm2 start xxx.js
# 使用 pm2 查看所有进程
pm2 list
# 使用 pm2 停止所有进程
pm2 stop all
Docker容器化部署
- 创建Dockerfile配置文件
- 在Docker容器中,启动pm2进程,在容器中暴露端口
- 增加nginx,来配置代理转发
- 有些请求,可能需要转发到指定的目录中,可通过nginx转发
pm2进程管理
nginx代理转发
负载均衡