项目起步

只使用本项目

  • 下载build文件,里面有模型数据,项目原始配置路径信息

  • 前端工程名为:ai-ui

  • 导入script文件夹db_ai_system.sql文件

  • 导入项目时,依赖下载会比较多,有些比较大,大家耐心等待

  • 本项目默认不使用admin监控,任务调度中心等服务

  • 后续配置跟官方配置教程即可

项目必备环境

推荐使用 docker 安装 项目内置 docker 编排文件

  • oracle jdk 8 11 (暂时不支持 17 不支持大于 jdk8_202 因为202是最后一个免费版本)
  • mysql 5.7 8.0+ (5.6未适配可能会有问题)
  • oracle 11g 12c
  • postgres 13 14
  • sqlserver 2017 2019
  • redis 5.X 6.X 由于框架大量使用了redis特性 版本必须 >= 5.X (win redis 下载地址
  • minio 本地文件存储 或 阿里云 腾讯云 七牛云等一切支持S3协议的云存储
  • maven 3.6.3 3.8.X
  • nodejs >= 12
  • npm 6.X 8.X (7.X确认有问题)

自定义修改对应环境:

项目搭建 - 图1

默认 JDK1.8 如有变动 需更改以下配置

项目搭建 - 图2
项目搭建 - 图3
项目搭建 - 图4

数据库sql导入

本项目:导入script文件夹db_ai_system.sql文件即可

如果需要新的干净原生的数据库,请按照以下顺序依次导入

项目搭建 - 图5

默认为 mysql 其他数据库需导入对应的sql文件

项目搭建 - 图6

多数据库仅支持主应用 扩展应用需自行适配(例如: xxl-job仅支持mysql)

项目应用启动

应用列表:

项目搭建 - 图7

  • MonitorAdminApplication 为 Admin监控服务(非必要 可参考对应文档关闭)
  • XxlJobAdminApplication 为 任务调度中心服务(非必要 可参考对应文档关闭)
  • RuoYiApplication 为 主应用服务

需优先启动 MonitorAdminApplicationXxlJobAdminApplication 具体配置方式参考对应文档
最后启动 主服务 RuoYiApplication

主服务配置方式

在勾选对应环境的配置文件内 填写 mysql 与 redis 配置信息

项目搭建 - 图8

项目搭建 - 图9

其他数据库配置 按照系统自带的配置更改即可

项目搭建 - 图10

搭建Admin监控(可选)

配置监控客户端

  • 修改主服务配置文件

项目搭建 - 图11

  • enabled 可启用或关闭客户端注册
  • url 为监控中心地址
  • username 与 password 为监控中心的账号密码

客户端暴漏信息

  • 在主pom对应环境内设置

  • 由于有数据安全问题 prod 生产环境 只暴漏部分信息 具体需要结合项目实际情况修改

项目搭建 - 图12

启用监控中心

  • 扩展项目 -> 监控模块 启动

项目搭建 - 图13

  • 在监控模块对应的 yml 配置文件 可设置登录的账号密码与访问路径

项目搭建 - 图14

前端修改admin监控访问路径

  • dev环境 默认使用 .env.development 配置文件内地址

项目搭建 - 图15

prod环境 使用 .env.production 本机路由

项目搭建 - 图16

故而 prod 环境只需更改 nginx 反向代理路径即可

项目搭建 - 图17

搭建任务调度中心(可选)

配置调度中心客户端

  • 修改主服务配置文件

项目搭建 - 图18

  • enabled 可启用或关闭客户端注册
  • admin-addresses 为调度中心地址
  • access-token 为调度中心交互鉴权token
  • executor 为执行器配置 一个客户端为一个执行器 可配置执行器集群 使用分片任务处理

启用调度中心

  • 扩展项目 -> xxl-job-admin模块 启动

项目搭建 - 图19

  • 需修改配置文件数据库连接地址(注意: 此处为xxl-job-admin服务的配置文件)

项目搭建 - 图20

  • 也可配置邮件发送

项目搭建 - 图21

前端修改任务调度中心访问路径

  • dev环境 默认使用 .env.development 配置文件内地址

项目搭建 - 图22

  • prod环境 使用 .env.production 本机路由

项目搭建 - 图23

  • 故而 prod 环境只需更改 nginx 反向代理路径即可

项目搭建 - 图24

项目部署

手动部署

  • 在服务器安装 mysql redis nginx minio

  • 将项目内 docker/nginx/nginx.conf 配置文件 复制到 nginx 配置内

  • 将项目内 docker/redis/redis.conf 配置文件 复制到 redis 配置内

  • 修改相关参数如 前端页面存放位置 后端Ip地址 等使其生效

jar包部署后端服务 打包命令如下,3.2.0及以上:

  1. mvn clean package -D maven.test.skip=true -P prod

前端参考下方前端部署章节

后端部署

基于docker 实现

重点: 一知半解的必看

docker安装
docker-compose安装
docker网络模式讲解
docker 开启端口 2375 供外部程序访问

将源码内 docker 文件夹上传到服务器(注意: 不要放到根目录)

进入 docker 目录 给shell脚本分配执行权限

  1. chmod 777 ~/docker/deploy.sh

开放外网防火墙端口(内网服务无需开启)

  1. sh deploy.sh port

放置挂载文件

  1. sh deploy.sh mount

启动基础服务(重点注意: 一定要确保根目录 /docker 存储文件夹 具有写权限)

  1. sh deploy.sh base

启动与停止业务服务(需要先构建服务镜像)

  1. sh deploy.sh monitor
  2. sh deploy.sh start
  3. sh deploy.sh stop

停止所有服务

  1. sh deploy.sh stopall

删除所有容器

  1. sh deploy.sh rm

删除所有空版本镜像

  1. sh deploy.sh rmiNoneTag

构建服务镜像

  • 首先 使用 maven 打包 ruoyi-admin.jar

  • 然后 使用 docker-maven-plugin 插件上传构建 ruoyi-server 镜像

  • 需修改 pom 文件对应 docker 服务器的 ip 地址

  • docker 服务配置开启 2375 api端口 docker 开启端口 2375 供外部程序访问

未开启 2375 api端口将无法远程连接 docker
可选使用 ssh 上传 jar 包 在服务器执行 docker build 构建镜像 命令具体用法 百度即可

项目搭建 - 图25

对应maven命令(总工程目录下执行)

  1. mvn docker:build -rf :ruoyi-admin

前端部署

执行打包命令

  1. # 打包正式环境
  2. npm run build:prod
  • 打包后生成打包文件在 ruoyi-ui/dist 目录

  • dist 目录下文件(不包含 dist 目录) 上传到部署服务器 docker/nginx/html 目录下(手动部署放入自己配置的路径即可)

  • 重启 nginx 服务即可