后端

项目初始化

项目必备环境

提示

建议首次部署使用Dokcer安装,项目内置docker编排文件可快速部署运行。

  • openJDK 17
  • MySQL 8.0+
  • Redis 5.x 6.x 7.x
  • minio 或等效S3协议的对象存储
  • maven >= 3.8.x
  • node.js 18
  • nacos 2.1.x

需勾选maven对应环境

extending-a-theme

提示

开发机本地部署请勾选local
想快速体验,请使用云端调试部署模式,请勾选dev(建议)

默认 JDK-17 如有变动需要更新以下配置

extending-a-themeextending-a-theme

对外服务端口

  • 80
  • 443

部署步骤

提示

本项目测试环境基于Ubuntu 22.04 64位操作系统举例,dev环境将所有系统和业务服务部署到一台4CPU+32G内存的云服务器端

1. 安装Docker

a. 更新 apt 包索引并安装 ca-certificates、curl、gnupg、lsb-release等,以允许 apt 通过 HTTPS 使用存储库;

apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

b. 添加 Docker 的官方 GPG 密钥;

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

c. 使用下面命令设置 stable 仓库。

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

d. 安装最新版本的 Dokcer Engine

sudo apt-get update
sudo apt install docker-ce docker-ce-cli containerd.io -y

提示

安装指定版本的 Dokcer Engine,首先使用cpt-cache命令查看仓库中 docker-ce 的版本,选择对应的版本,使用install命令安装。

e. Docker Compose 安装方法

运行下面的命令将 Docker Compose 1.29.2 的二进制版本安装到 /usr/local/bin/docker-compose 中。 要安装不同版本的 Compose,请将 1.29.2 替换为您要使用的 Compose 版本。

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

提示

对二进制文件 /usr/local/bin/docker-compose 赋予可执行权限。

2. 拷贝部署目录

  • 将项目目录下docker文件夹全部内容拷贝至服务器端,如/usr/local/omind/目录下 extending-a-theme

3. 开始启动服务

请先将编译成功的服务模块镜像推送至Docker服务器

依次执行以下命令,每个服务启动成功后执行下一条

  • 启动nginx
docker-compose --compatibility up -d nginx
  • 启动Redis
docker-compose --compatibility up -d redis
  • 启动MySQL
docker-compose --compatibility up -d mysql

提示

数据库初始化sql均存放在docker\mysql\init目录下,在容器启动后会自动载入,如需要更新或者重置数据,请替换sql并删除data目录下的数据文件。

  • 启动xxl-job
docker-compose --compatibility up -d xxl-job

提示

xxl-job 已预置地图更新任务、桩验活任务、站点数据同步任务

  • 启动RabbitMQ
docker-compose --compatibility up -d rabbitmq

提示

充电桩状态、充电状态数据均采用MQ传递,如启动失败,则无法正常体验充电流程

  • 启动Minio
docker-compose --compatibility up -d minio

提示

体验模式可以不部署

  • 启动Nacos
docker-compose --compatibility up -d nacos

提示

  • MacOS ARM环境下,请修改docker-compose,使用 nacos/nacos-server:v2.1.2-slim 镜像
  • 启动Nacos成功后,如数据库初始化失败,请创建dev命名空间,并导入config目录下对应的配置文件
  • 启动ruoyi-gateway 网关服务
docker-compose --compatibility up -d ruoyi-gateway
  • 启动ruoyi-auth 通用服务
docker-compose --compatibility up -d ruoyi-auth
  • 启动ruoyi-system 系统服务
docker-compose --compatibility up -d ruoyi-system
  • 启动uoyi-resource 资源服务
docker-compose --compatibility up -d ruoyi-resource
  • 启动omind-baseplat 充电基础基础设施服务
docker-compose --compatibility up -d omind-baseplat
  • 启动omind-userplat 充电运营服务
docker-compose --compatibility up -d omind-userplat
  • 启动omind-simplat 充电桩模拟器
docker-compose --compatibility up -d omind-simplat
  • 启动omind-mp 充电用户端(小程序)服务
docker-compose --compatibility up -d omind-mp

业务模块结构

omind-api-baseplat:充电基础设施服务外部接口模块
omind-api-common:通用模块
omind-api-mq:通用消息队列模块
omind-api-user-mq:用户客户端服务外部接口模块
omind-api-userplat:充电运营服务外部接口模块
  • omind-modules:业务模块集合
omind-baseplat:充电基础设施服务模块
omind-userplat:充电运营服务模块
omind-mp:用户客户端服务模块
omind-simplat:模拟充电桩模块

API文档

容器部署启动成功后,可访问相关文档

  • 业务:omind-baseplat 充电基础设施服务
http://[服务器IP]:9801/swagger-ui/index.html
  • 业务:omind-simplat 充电桩模拟器
http://[服务器IP]:9804/swagger-ui/index.html
  • 业务:omind-userplat 充电运营服务
http://[服务器IP]:9805/swagger-ui/index.html
  • 业务:omind-mp 充电用户端(小程序)服务
http://[服务器IP]:9807/swagger-ui/index.html
  • 系统:ruoyi-auth 通用服务
http://[服务器IP]:9210/swagger-ui/index.html
  • 系统:ruoyi-system 系统服务
http://[服务器IP]:9201/swagger-ui/index.html
  • 系统:ruoyi-resource 资源服务
http://[服务器IP]:9204/swagger-ui/index.html
上次更新: