硕果云项目本地部署教程

1:环境准备

开发环境:

  • jdk:1.8
  • MySQL:5.7+
  • redis
  • rabbitMq
  • node.js
  • consul
    开发工具:IntelliJ IDEA,需要安装的插件lombok

2: 下载项目

.git clone 下载 spring-microservice-exam
.git clone https://gitee.com/wells2333/spring-microservice-exam.git

3: 修改配置

  1. 按需修改spring-microservice的config-servicce的/config文件夹下各服务的配置

  2. 例如:ip、端口、数据库名称等,所有配置均有默认,比如数据库的ip为 localhost:3306,账号为root/11

  3. redis:localhost:6379

  4. rabbitMq:localhost:5672
    在这里插入图片描述

  5. 运行数据库初始化脚本:
    首先新建四个数据库,分别是:microservice-user、microservice、microservice-auth、microservice-gateway,分别执行下面的SQL脚本:
    特别说明:下方数据库名需要使用tab建上面的撇号"`"包裹的

create database microservice-auth default character set utf8 collate utf8_general_ci;
create database microservice-exam default character set utf8 collate utf8_general_ci;
create database microservice-gateway default character set utf8 collate utf8_general_ci;
create database microservice-user default character set utf8 collate utf8_general_ci;

  • docs/deploy/mysql/init/microservice_auth.sql
  • docs/deploy/mysql/init/microservice_exam.sql
  • docs/deploy/mysql/init/microservice_gateway.sql
  • docs/deploy/mysql/init/microservice_user.sql

在这里插入图片描述

4: 启动后端项目

  1. 启动项目前要先确认consul、MySQL、redis、rabbitMq是否已经启动
  2. 配置JVM参数:目的是限制每个服务的内存:如config-server可以分配64M(-Xmx64m -Xms64m),其他服务分配128M(-Xmx128m -Xms128m)
  3. 按顺序启动
    • config-service :9181
    • auth-service :9182
    • user-service :9183
    • exam-service :9184
    • gateway-service :9180
      需要监控功能在启动
    • monitor-service :9186
    • msc-service :9185
      这里可能会报链接不上zipkin的异常,可以忽略,因为zipkin服务没启动,不影响部署。
  4. 先解决一个问题吧,就是有一个包是需要手动添加到maven的
    添加教程:添加jar包到maven仓库教程地址

mvn install:install-file -Dfile=QRCode.jar -DgroupId=QRCode -DartifactId=QRCode -Dversion=3.0 -DcreateChecksum=true -Dpackaging=jar -DgeneratePom=true

  1. 成功截图
    在这里插入图片描述
    去你的maven下可以找到这个jar信息
    在这里插入图片描述
    最后就可以看到所有的jar都引入正常了
    在这里插入图片描述

  2. 修改项目VM
    在这里插入图片描述
    在这里插入图片描述

  3. 访问consul管控台,检查各个服务的health check是否正常,如下图说明所有服务均启动成功
    在这里插入图片描述

5: 启动前端项目

  1. 安装前端依赖 (方式一 npm)
    分别在frontend/spring-microservice-exam-uifrontend/spring-microservice-exam-web,目录下,命令行运行:

$ npm install
安装过程可能耗时较久,还可能安装node-saas失败,可以再执行:
$ npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
$ npm run dev

在这里插入图片描述

  1. 安装前端依赖(方式二 yarn)
# 安装yarn
npm install -g yarn

# 下载依赖
yarn install

# 启动
yarn run dev

# 编译项目
yarn run build

# Lints and fixes files
yarn run lint
  1. 我直接用的yarn方式,前端下载依赖没出错,启动的时候出错了,错误信息如下:
    在这里插入图片描述

  2. 解决办法修改spring-microservice-exam-ui的package.json文件

“vue-spinkit”: “~1.4.1”,

  1. spring-microservice-exam-web这个项目的不用修改,直接就可以启动
  2. 这个问题解决思路:
    由于package.json文件中版本号的特点,下面三个版本号在安装的时候代表不同的含义。
"5.0.3",
"~5.0.3",
"^5.0.3"

“5.0.3”表示安装指定的5.0.3版本,“~5.0.3”表示安装5.0.X中最新的版本,“^5.0.3”表示安装5.X.X中最新的版本。这就麻烦了,常常会出现同一个项目,有的同事是OK的,有的同事会由于安装的版本不一致出现bug。
7. 配置 IntelliJ IDEA
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 可以在上面的idea命令行页面运行下载依赖的操作

  2. 启动的话就和你平时启动项目没两样,右上角的启动按钮启动就行了
    在这里插入图片描述

  3. 项目启动成功登录截图
    前台:localhost:8080
    后台:localhost:9527
    在这里插入图片描述在这里插入图片描述

  4. 默认账号
    管理员:admin/123456
    学生:student/123456
    教师:teacher/123456

6: 监控

名称地址
rabbitMq监控localhost:15672
spring boot admin服务监控localhost:9186
zipKin链路跟踪localhost:9411
consullocalhost:8500

7: 其他

  1. 密钥库(部署可暂时忽略)
    使用keytool生成jwt token密钥库

$ keytool -genkeypair -alias jwt -keyalg RSA -dname “CN=jwt,L=Berlin,S=Berlin,C=DE” -keypass abs123 -keystor

执行下面命令,输入密钥,复制输出的公钥

$ keytool -list -rfc --keystore jwt-jks | openssl x509 -inform pem -pubkey

  1. GC参数
    生产参数实例

-Xmx512m -Xms256m -XX:+UnlockDiagnosticVMOptions -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:AutoBoxCacheMax=20000 -XX:-UseBiasedLocking -XX:-UseCounterDecay -XX:-OmitStackTraceInFastThrow -Djava.security.egd=file:/dev/urandom -XX:+CMSParallelInitialMarkEnabled -XX:+ParallelRefProcEnabled -XX:+ExplicitGCInvokesConcurrent -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintTenuringDistribution -XX:+HeapDumpOnOutOfMemoryError -XX:+PerfDisableSharedMem -XX:+PrintCompressedOopsMode -XX:-PrintGCApplicationStoppedTime

在这里插入图片描述

  1. 接口文档地址: localhost:9180/swagger-ui.html
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. 后台页面展示
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

8: 项目地址

  1. 硕果云项目地址

9: 本机环境

  1. jdk:1.8
  2. Erlang:V8.3(特别说明,安装rabbitMQ之前要安装erlang环境)
  3. rabbitMQ:3.6.12
  4. node:v12.16.3
  5. mysql:5.7
  6. redis
  7. consul:1.4.3
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值