跳到主要内容

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 文件进行配置

javascript
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相关命令​

shell
# 启动服务
pm2 start xxx.js
# 使用 pm2 查看所有进程
pm2 list
# 使用 pm2 停止所有进程
pm2 stop all

Docker容器化部署​

  • 创建Dockerfile配置文件
  • 在Docker容器中,启动pm2进程,在容器中暴露端口
  • 增加nginx,来配置代理转发
    • 有些请求,可能需要转发到指定的目录中,可通过nginx转发

pm2进程管理

nginx代理转发

负载均衡