家校 H5 部署说明

家校共育V1.0.0

家校 H5 部署说明

适用人群

开发、测试、运维

开发须知

开发中平时我们采用 npm run dev 进行启动,在转测前夕需使用npm run build && npm run pm2:prod 进行模仿测试、现网的项目部署方式,防止项目跑不起来造成转测失败。
脚本说明

项目介绍

wave 是一个基于 Nuxt 框架的公众号H5项目,页面采用同构渲染方式(SSR),网络请求采用axios,脚本、样式、图片采用 Vue 自带脚手架进行压缩、合并,项目部署采用nodemon及pm2。

工程目录介绍:关于 Nuxt.js : -)

├── api                        # 所有请求
├── assets                     # 资源文件
├── components                 # 组件目录
├── layouts                    # 布局目录
├── logs                       # pm2 启动日志
├── middleware                 # 中间件目录
├── mocks                      # 项目mock 模拟数据
├── modules                    # 模块目录
├── pages                      # 页面目录
├── pid                        # pm2 进程日志
├── plugins                    # 插件目录
├── server                     # 启动文件,基于koa
├── static                     # 静态资源
├── store                      # 全局 store管理
├── tests                      # 单元测试
├── utils                      # 工具类
├── .gitignore                 # git 忽略项
├── base.config.js             # 项目基础配置
├── ecosystem.config.js        # pm2 启动文件
├── jest.config.js             # jest 单元测试配置
├── nuxt.config.js             # nuxt 配置
├── tailwind.config.jss        # tailwind 配置
├── package.json               # package.json
└── README.md                  # 项目说明文档

pm2配置文件介绍:ecosystem.config.js运维重点关注PM2 配置相关说明

apps: [{
  name                : 'jiaxiaoclass',
  script              : './server/index.js',
  cwd                 : __dirname,
  args                : '',
  instances           : 1,   						// 集群实例
  'error_file'        : './logs/pm2/error.log',
  'out_file'          : './logs/pm2/out.log',
  'pid_file'          : './pids/pid.pid',
  'merge_logs'        : false,
  'ignore_watch'      : ['node_modules', 'logs', 'pids'],
  autorestart         : true,
  watch               : false,
  exec_mode			  : "cluster"					// 集群模式
  max_memory_restart  : '1G',					    // 溢出重启
  env: {
    NODE_ENV: 'development'
  },
  env_production: {
    NODE_ENV: 'production'
  }
}]

环境准备

nodejs安装包

环境搭建

以linux为例

  1. NodeJS
  • 安装nodejs:nodejs版本建议取v8.11.1,同开发一致,下载:wget https://nodejs.org/dist/v8.11.1/node-v8.11.1-linux-x64.tar.xz
  • 解压:tar –xvf node-v8.11.1-linux-x64.tar.xz
  • 删除压缩包:rm –rf node-v8.11.1-linux-x64.tar.xz
  • 查看nodejs是否安装成功: node –v
    在这里插入图片描述
  1. PM2
  • 全局安装pm2(pm2可以监控项目的运行情况)npm i pm2 –g
  • 查看pm2是否安装成功 pm2 -v
    在这里插入图片描述

项目部署

运行node模块安装命令:npm install

启动服务,npm run build, 测试: npm run pm2:test,运维: npm run pm2:prod

在这里插入图片描述
在这里插入图片描述查看实时日志信息,会有短暂的真空期,pm2 log jiaxiaoclass
在这里插入图片描述

查看日志

日志文件在 wave 下的 logs 目录,其中测试查看 /pm2/out-xx.log,运维查看yyyy-MM-dd.log,日志文件不一致。
如:
测试:tail –n 100 –f logs/pm2/out-0.log
运维:tail –n 100 –f logs/2018-04-03.log
同时由于采用了pm2部署项目,日志还可以在任意目录下运行:
pm2 logs(由于现网日志存于yyyy-MM-dd.log文件中,此命令对于运维无效)

PM2常用命令参考

发布了19 篇原创文章 · 获赞 7 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41597258/article/details/103901642