环境部署
环境要求
| 组件 | 建议版本 | 用途 |
|---|---|---|
| JDK | 8 | EMS 微服务运行时 |
| Maven | 3.8+ | 后端依赖与构建 |
| Node.js | 16 LTS | Vue 2 前端构建 |
| MySQL | 8.0 | 业务数据、任务与报表 |
| Redis | 6+ | 缓存、会话与分布式协调 |
| Nacos | 2.1+ | 服务注册与配置中心 |
| Nginx | 1.20+ | 前端静态资源与 API 反向代理 |
启动顺序
- 启动 MySQL、Redis 和 Nacos。
- 导入平台基础 SQL 与 EMS 业务补丁。
- 在配置中心完成数据库、缓存、邮件、时序数据源和加密密钥配置。
- 依次启动网关、认证中心、系统服务和 EMS 业务服务。
- 根据需要启动文件、任务、代码生成和监控服务。
- 构建前端并通过 Nginx 发布。
后端构建
cd ems-api
mvn clean package -DskipTests
联调阶段建议使用定向模块构建:
mvn -pl witos-modules/ems_server -am test
前端构建
cd ems-pc
npm install
npm run build:prod
生产构建产物位于 dist 目录。Nginx 需将前端路由回退到 index.html,并将 /prod-api 代理到网关。
定时任务
EMS 包含实时数据、历史修复、小时报表、日报、月报、年报、缺口修复、迟到数据修复和保留策略任务。生产环境必须明确设置是否开启调度,多实例时使用分布式锁防止重复执行。
生产安全
- 数据库密码、数据源令牌和凭据加密主密钥使用环境变量或密钥服务注入。
- 不在 Git、配置样例、构建日志和客户端代码中保存生产密钥。
- 所有服务器与边缘节点必须保持时间同步。
- 对外入口使用 HTTPS,后端管理通道仅向受信网络开放。
- 发布前备份数据库、关键配置和当前前端静态目录。
健康检查
发布后至少检查:
- 网关、认证中心、系统服务和 EMS 服务全部注册。
- 登录、租户选择、公司与电站权限正常。
- 控制器在线状态、设备实时值与历史曲线可查询。
- 告警、报表、电价与收益链路可用。
- 日志中没有输出明文密码、令牌或控制器凭据。
