项目说明


Nuxt.js 发布部署

打包

Nuxt.js 提供了一系列常用的命令, 用于开发或发布部署。

命令

描述

nuxt

启动一个热加载的 Web 服务器(开发模式)localhost:3000

nuxt build

利用 webpack 编译应用,压缩 JS 和 CSS 资源(发布用)。

nuxt start

以生产模式启动一个 Web 服务器 (需要先执行 nuxt build)。

nuxt generate

编译应用,并依据路由配置生成对应的HTML文件 (用于静态站点的部署)。

如果使用了 Koa/Express 等 Node.js Web 开发框架,并使用了 Nuxt 作为中间件,可以自定义 Web 服 务器的启动入口:

命令

描述

NODE_ENV=development nodemon server/index.js

启动一个热加载的自定义 Web 服务器(开发模 式)。

NODE_ENV=production node server/index.js

以生产模式启动一个自定义 Web 服务器 (需要先执行 nuxt build)。

参数

  • 可以使用 –help
  • 常见的命令有:
  • –config-file 或 -c: 指定 nuxt.config.js
  • –spa 或 -s:
  • –unix-socket 或 -n:
  • 可以将这些命令添加至 package.json
"scripts": { 
      "dev": "nuxt", 
      "build": "nuxt build", 
      "start": "nuxt start", 
      "generate": "nuxt generate" 
  }

这样可以通过 npm run <command> 来执行相应的命令。如: npm run dev

提示:

要将参数传递给npm命令,您需要一个额外的 – 脚本名称(例如: npm run dev --参数 --spa)

开发模式

  • 可通过以下命令以开发模式启动带热加载特性的 Nuxt 服务:
nuxt 
  # 或 
  npm run dev

部署方式

  • 配置 Host + Port
  • nuxt.config.js
module.exports = {
    server: {
        // 设置成 0.0.0.0 监听所有的网卡地址
        host: '0.0.0.0', // 访问地址 default localhost
        port: 3000       // 端口号 port
    },
}
  • 压缩发布包
    把下面图中标识的文件,进行压缩

说明:

  • .nuxt:NuxtJs 自动生成的资源文件
  • static:存放静态资源
  • nuxt.config.js:NuxtJs 的配置文件,为 Nuxt 服务提供支持
  • package.jsonpackage-lock.json:在服务端也需要安装第三方依赖包
  • 把发布包传到服务端
  • 查看服务器地址:(阿里云服务器为例)
  • 连接服务器(cmd 命令行、XShell …)
ssh root@公网IP

提示:root@123.57.28.48's password(输入密码),如图所示:

nuxt ssr怎么部署到nginx_nuxt ssr怎么部署到nginx


若忘记密码,则可以重置实例密码,如图所示:

nuxt ssr怎么部署到nginx_nuxt ssr怎么部署到nginx_02


nuxt ssr怎么部署到nginx_vue_03

  • 在服务器中创建文件夹,并进入该文件夹
mkdir realworld-nuxtjs
  cd realworld-nuxtjs/
  • 查看当前的目录路径
pwd

输出结果 /root/realworld-nuxtjs,如图所示:

nuxt ssr怎么部署到nginx_vue_04

  • 执行 exit 命令退出服务器,或者新开一个 cmd 窗口,将压缩包上传到服务器
scp .\realworld-nuxtjs.zip root@公网IP://root/realworld-nuxtjs

运行结果,如图所示:

nuxt ssr怎么部署到nginx_vue_05

.\realworld-nuxtjs.zip :上传的文件路径

root@公网IP://root/realworld-nuxtjs:上传至服务器的存放位置

  • 解压
  • 重新连接服务器,并进入压缩包存放的目录,进行解压
unzip 压缩包名称

运行效果,如图所示:

nuxt ssr怎么部署到nginx_linux_06

  • 查看解压后的文件,-a 表示查看全部(包括隐藏目录)
ls -a

可以看到全部的上传文件,如图所示:

nuxt ssr怎么部署到nginx_nuxt ssr怎么部署到nginx_07

  • 安装依赖
  • 使用命令,安装依赖
npm i

安装成功,如图所示:

nuxt ssr怎么部署到nginx_服务器_08

注意:

  • 启动服务
  • 使用命令,启动 Web 服务
npm run start

服务启动成功,如图所示:

nuxt ssr怎么部署到nginx_linux_09

  • 访问 公网Ip:port ,如图所示:

注意:

如果访问连接,没有响应,查看 是否配置安全组规则,或者 防火墙相关配置

pm2 启动 web 服务

PM2 是一个带有负载均衡功能的 Node 应用进程管理器。

npm install --global pm2

执行结果,如图所示:

nuxt ssr怎么部署到nginx_nuxt ssr怎么部署到nginx_10

  • 配置软连接,类似于 环境变量
# ln -s pm2 二进制执行文件所在路径 /usr/local/bin(建立软连接的路径--环境变量)
  ln -s /usr/local/node-v14.15.4-linux-x64/bin/pm2 /usr/local/bin
  • 进入项目文件所在目录,使用命令,启动服务:
pm2 start 脚本路径
  # pm2 start npm -- start

启动成功,如图所示:

nuxt ssr怎么部署到nginx_vue_11

  • 关闭 pm2:
pm2 stop id
  # 或
  pm2 stop name
  # pm2 stop 0

运行结果,如图所示:

nuxt ssr怎么部署到nginx_服务器_12

  • PM2 常用命令

命令

说明

pm2 list

查看应用列表

pm2 start

启动应用

pm2 stop

停止应用

pm2 reload

重载应用

pm2 restart

重启应用

pm2 delete

删除应用##

自动化部署

  • 详情参见:【前端自动化构建】之 自动化部署