慧知虚拟电厂平台慧知虚拟电厂平台
首页
平台介绍
快速了解
演示环境
  • 平台概述
  • 微服务架构
  • 数据与口径
  • 资源台账
  • 执行监测
  • 效果评估
  • 权限与安全
  • 接口契约
  • 部署与运维
部署指南
  • 前端代码
  • 后端代码
首页
平台介绍
快速了解
演示环境
  • 平台概述
  • 微服务架构
  • 数据与口径
  • 资源台账
  • 执行监测
  • 效果评估
  • 权限与安全
  • 接口契约
  • 部署与运维
部署指南
  • 前端代码
  • 后端代码
  • 虚拟电厂平台

    • 平台概述
    • 微服务架构
    • 数据与口径
    • 资源台账
    • 执行监测
    • 效果评估
    • 权限与安全治理
    • 接口契约
    • 部署与运维
  • 开发文档

    • 平台介绍
    • 快速了解
    • 环境部署
    • 项目介绍
    • 后台手册
    • 前端手册
    • 组件文档
    • 更新日志
  • 微服务工程

    • 服务网关
    • 认证中心
    • 注册中心
    • 配置中心
    • 服务调用
    • 服务监控
    • 链路追踪
    • 熔断和降级
    • 分布式事务
    • 分布式日志
    • 应用容器部署

部署指南

环境要求

组件版本用途
JDK1.8后端运行时
Maven3.8+后端构建
Node.js16 LTS前端构建
MySQL8.0+数据库
Redis6+令牌与缓存
Nacos2.1+注册与配置中心
Nginx1.20+前端静态资源与 API 代理
Docker(仅 Docker 部署)20.10+容器化一键部署

数据库初始化

无论哪种部署方式,都需要先准备数据库。按顺序执行 platform-service/sql 下的三个脚本:

# 1. 系统库(用户、角色、菜单、租户、字典)
mysql -uroot -p < sql/witos_platform.sql

# 2. 需求响应业务表与虚拟电厂菜单
mysql -uroot -p < sql/vpp_dr.sql

# 3. Nacos 种子配置(网关路由、各服务配置,命名空间 vpp)
mysql -uroot -p < sql/witos_config.sql

witos_config.sql 中的配置归属 vpp 命名空间。各服务 bootstrap.yml 已固定该命名空间,新建配置时不要误放 public。


方式一:普通部署

适合开发联调、生产环境或需要精细控制每台服务器的场景。

第一步:启动基础设施

分别安装并启动 MySQL、Redis、Nacos(Nacos 以 standalone 模式运行即可)。

第二步:导入数据库与检查配置

按上方“数据库初始化”章节执行三个 SQL 脚本。

导入后登录 Nacos 控制台(http://服务器IP:8848/nacos),进入命名空间 vpp,检查各服务配置中的:

  • 数据库连接地址与密码
  • Redis 连接地址与密码
  • 网关路由目标地址

确保与实际环境一致。

第三步:构建后端

cd platform-service
mvn clean package -DskipTests

联调阶段可只构建需要的模块:

mvn -pl vpp-event-service -am package -DskipTests
mvn -pl vpp-dispatch-service -am package -DskipTests

第四步:启动后端服务

按以下顺序逐个启动(每个 jar 包在对应模块的 target 目录下):

1. vpp-gateway        (端口 48080)
2. vpp-auth           (端口 39200)
3. vpp-system         (端口 39201)
4. vpp-event-service  (端口 39310)
5. vpp-dispatch-service(端口 39320)

可选服务按需启动:vpp-file(39300)、vpp-gen(39202)、vpp-job(39204)、vpp-monitor(39100)。

第五步:构建并部署前端

cd pc_web
npm install
npm run build:prod

构建产物在 pc_web/dist 目录。将 dist 目录放到 Nginx 服务器上,Nginx 配置要点:

server {
    listen       80;
    server_name  你的域名;

    # 前端页面
    location / {
        root   /你的路径/dist;
        try_files $uri $uri/ /index.html;
        index  index.html;
    }

    # API 代理到网关
    location /prod-api/ {
        proxy_pass http://网关地址:48080/;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

第六步:验证

浏览器访问 Nginx 地址,使用系统管理员账号登录,检查仪表盘数据、事件列表是否正常。


方式二:Docker 部署

适合演示、试点环境或快速搭建完整平台。一条命令拉起全部组件。

前置条件

  • 已安装 Docker 和 Docker Compose
  • 已完成“数据库初始化”中的 SQL 脚本准备(Docker 方式下由 copy.bat / copy.sh 自动处理)

部署前必改配置

默认配置仅用于演示环境,上线前必须修改以下配置。

1. docker-compose.yml 中的数据库密码:

# witos-mysql 服务
environment:
  MYSQL_ROOT_PASSWORD: password    # ← 改成你的强密码

# witos-nacos 服务
environment:
  MYSQL_PWD: password              # ← 与上面保持一致

2. docker-compose.yml 中各服务的 Nacos 地址:

每个服务都有 NACOS_HOST 环境变量,默认指向容器内网 IP:

environment:
  - NACOS_HOST=172.18.0.6          # ← 如果改了网络或独立部署 Nacos,需同步修改
  - NACOS_PORT=8848

3. Nacos 配置中心的数据库连接:

witos_config.sql 导入后,在 Nacos 控制台(http://服务器IP:8848/nacos)检查命名空间 vpp 下的配置,确认:

  • 数据库连接地址与密码是否与实际环境一致
  • Redis 连接地址与密码是否正确
  • 网关路由是否指向正确的服务地址

4. Redis 密码:

修改 redis/conf/redis.conf 中的 requirepass,并同步更新 Nacos 配置中对应的 Redis 密码。

第一步:打包并复制文件

Windows:

cd platform-service/docker
copy.bat

Linux:

cd platform-service/docker
sh copy.sh

该脚本会:

  1. 编译后端(mvn clean package)
  2. 编译前端(npm install + npm run build:prod)
  3. 将 SQL 脚本复制到 MySQL 初始化目录
  4. 将前端 dist 复制到 Nginx 目录
  5. 将各服务 jar 包复制到对应 Docker 构建目录

第二步:构建镜像

Windows:

cd platform-service/docker
build_image.bat

Linux:

cd platform-service/docker
# 逐个构建镜像(与 build_image.bat 等效)
cd nginx && docker build -t vpp/vpp-nginx:v1.0 . && cd ..
cd nacos && docker build -t witos/vpp-register:v1.0 . && cd ..
cd vpp/gateway && docker build -t witos/vpp-gateway:v1.0 . && cd ../..
cd vpp/auth && docker build -t witos/vpp-auth:v1.0 . && cd ../..
cd vpp/modules/system && docker build -t witos/vpp-system:v1.0 . && cd ../../..
cd vpp/modules/file && docker build -t witos/vpp-file:v1.0 . && cd ../../..
cd vpp/modules/job && docker build -t witos/vpp-job:v1.0 . && cd ../../..
cd vpp/modules/gen && docker build -t witos/vpp-gen:v1.0 . && cd ../../..
cd vpp/visual/monitor && docker build -t witos/vpp-monitor:v1.0 . && cd ../../..
cd vpp/demo && docker build -t witos/vpp-demo:v1.0 . && cd ../..
cd vpp/event-service && docker build -t witos/vpp-event-service:v1.0 . && cd ../..
cd vpp/dispatch-service && docker build -t witos/vpp-dispatch-service:v1.0 . && cd ../..

该脚本在复制文件基础上额外为每个服务构建 Docker 镜像。

第三步:启动全部服务

一键启动全部组件:

cd platform-service/docker
docker-compose up -d

Linux 分步启动(推荐,便于排查问题):

cd platform-service/docker

# 1. 开放防火墙端口(仅首次需要)
sh deploy.sh port

# 2. 启动基础环境(MySQL、Redis、Nacos)
sh deploy.sh base

# 3. 等待基础环境就绪后,启动全部业务服务
sh deploy.sh modules

其他运维命令:

sh deploy.sh stop   # 停止全部
sh deploy.sh rm     # 删除全部(需先 stop)

Docker Compose 会自动编排以下组件:

容器端口说明
witos-mysql3306MySQL 8.0
witos-redis6379Redis
witos-nacos8848Nacos 注册/配置中心
witos-nginx80前端与 API 入口
vpp-gateway48080网关
vpp-auth39200认证中心
vpp-system39201系统管理
vpp-gen39202代码生成
vpp-file39300文件服务
vpp-job39204任务调度
vpp-event-service39310事件服务
vpp-dispatch-service39320调度服务
vpp-monitor39100监控面板

第四步:验证

浏览器访问 http://服务器IP,检查登录、仪表盘与事件流程。

常用 Docker 命令

# 查看运行状态
docker-compose ps

# 查看某个服务日志
docker logs -f vpp-event-service

# 停止全部
docker-compose down

# 重启某个服务
docker-compose restart vpp-event-service

定时任务

事件服务内置多个定时任务,无需额外配置即可自动运行:

任务频率作用
事件状态流转每分钟按起止时间自动推进事件状态
执行监测刷新每分钟更新目标与实际功率对比
分钟功率采集每 15 分钟采集充电桩实时功率
日功率汇总每日 00:10汇总前一日功率数据
容量快照每小时过 5 分记录可调容量用于趋势展示
桩状态刷新每小时整点刷新设备在线状态

单实例部署无需额外配置。多实例部署前需为这些任务引入分布式锁防止重复执行。

健康检查

部署完成后至少检查以下项目:

  • 网关、认证中心、系统服务与两个业务服务在 Nacos 全部注册
  • 登录成功,菜单按角色正确显示
  • 仪表盘有容量、结算与设备在线数据
  • 创建测试事件后,状态能按起止时间自动流转
  • 生成评估与结算后,金额与三方分账可复核
  • 日志中没有输出明文密码或令牌

生产安全建议

  • 数据库口令、Redis 口令通过环境变量或配置中心注入,替换默认值。
  • 不在 Git、配置样例、构建日志中保存生产密钥。
  • 所有服务器保持时间同步,事件状态流转依赖时钟准确。
  • 对外入口使用 HTTPS,后端管理通道仅向受信网络开放。
  • 发布前备份数据库、关键配置和当前前端静态目录。
  • 日志按服务分文件落盘并定期归档,便于回溯状态流转与任务执行。
最近更新:: 2026/8/24 15:23
Prev
快速了解
Next
项目介绍