用途:中间件(MySQL/Redis/Nacos/Kafka/FastDFS/MQTT)换一台服务器时,照本文逐项改 IP/端口/账号密码即可,不用满仓找。 当前中间件部署:服务器测试环境
192.168.0.108(详见服务器测试环境.md,本文连接信息与之对齐)。 最后同步:2026-06-19。改动来源见进度/交接卡.md同日两段。✅ 2026-06-19 集群实测核验(claude 恢复会话)
本文配置已在真实集群启动中验证,结论:
- 真实凭证连通全过:MySQL
root/root(7 库表数全对)、Redis123456(+PONG)、Nacosnacos/nacos(鉴权已关)、Kafka(oplog producer 连上)、MQTT 端口通;均为新服务器192.168.0.108。- 6 微服务真实启动 + 注册 Nacos:gateway(10010)/tl-control(10050)/business-pc(10020)/oplog(10060)/data-transmission(10030)/surface;Hikari 连库、Kafka producer、Nacos 注册均成功。
- 业务闭环已验:登录(gateway,admin/123456 拿 token)、tl-control 读(getAlarmTypeList 返真实数据)+ 写(update alarm_type mute 入库查实再还原)、business-pc 读(查 DB 返标准结果)、oplog(Kafka→operation_log 入库)。
- ⚠ 补执行了 2 条漏掉的 DB 迁移(否则系统报错):
operation_log表(log 库)、autofocus-data-layer(aivfo_tl_setting 加对焦列,tl-control 启动曾因缺列报错)。- ✅ gateway 路由已验证通:经 gateway(10010)转发下游连续 5/5 返完整数据(getAlarmTypeList 1806B、写 update 真实入库)。注:服务刚重启未启动完时经 gateway 会短暂返空 200(负载均衡无健康实例),等服务起完即恢复——非 bug。operate/front 走的 gateway→微服务→DB 路径通。
- ⚠ business-app 配置实锤错误:见下方第二节注 5(已从"疑"升级为"确认")。
| 组件 | IP:端口 | 账号 | 密码 | 业务里怎么连 |
|---|---|---|---|---|
| MySQL | 192.168.0.108:3306 | root | root | Java 各服务 jdbcUrl;C# 不直连 |
| Redis | 192.168.0.108:6379 | — | 123456 | ✅实测可连(+PONG)但 全仓代码无任何服务使用 Redis(无 data-redis/RedisTemplate/Jedis/Redisson 依赖)→ 部署了但不参与运行,换机无需为它改任何配置 |
| Nacos | 192.168.0.108:8848(+9848) | nacos | nacos | Java spring.cloud.nacos.discovery.server-addr |
| Kafka | 192.168.0.108:9092 | 无 | 无 | Java aivfo.kafka.properties.ips;C# operate 的 kfkaIP(oplog) |
| FastDFS | tracker 22122 / storage 23000 / nginx 8888 | 无 | 无 | Java aivfo.dfs.fastdfs.trackerServers(只一个 tracker:22122) |
| MQTT(Mosquitto) | 192.168.0.108:1883 | aivfo | aivfo | Java aivfo.mqtt.clients[0].url;C# mqttIp |
常用 MQTT topic:
TL/House/pc、TL/House/surface、TL/House/app、TL/DATA/{tlSn}。
server.ip机制:每个激活服务的 application-{profile}.properties 顶部有 server.ip=,其下各连接(MySQL/Nacos/Kafka/FastDFS)统一写 ${server.ip}。换服务器 = 把下表 8 个文件的 server.ip 改成新 IP(连接行不用动)。激活 profile:除 aivfo-service=pro,其余均 local。
| 服务 | 配置文件(相对仓库根) | profile | 连的中间件 | 库名 |
|---|---|---|---|---|
| gateway | aivfo-gateway/aivfo-gateway-lanucher/src/main/resources/application-local.properties |
local | MySQL/Nacos/FastDFS | aivfo-auth |
| data-transmission | aivfo-data-transmission/aivfo-data-transmission-lanucher/.../application-local.properties |
local | MySQL/Nacos/Kafka/FastDFS | aivfo-tl(中划线) |
| oplog | aivfo-oplog/src/main/resources/application-local.properties |
local | MySQL/Nacos/Kafka | log |
| business-pc | aivfo-business-manage/.../aivfo-business-manage-pc-lanucher/.../application-local.properties |
local | MySQL/Nacos/FastDFS | aivfo_tl(下划线) |
| business-surface | .../aivfo-business-manage-surface-lanucher/.../application-local.properties |
local | MySQL/Nacos*/FastDFS | aivfo_tl |
| business-app | .../aivfo-business-manage-app-lanucher/.../application-local.properties |
local | MySQL/Nacos/FastDFS | ⚠ aivfo-tl(中划线,疑指错库) |
| tl-control | aivof-tl-control/aivfo-tl-control-lanucher/src/main/resources/application-local.properties |
local | MySQL/Nacos/MQTT | aivfo_tl_setting |
| aivfo-service | aivfo-service/src/main/resources/application-pro.properties |
pro | MySQL | aivfo_services |
换机要点 / 注意:
server.ip 改新 IP 即可覆盖 MySQL+Nacos+Kafka+FastDFS+MQTT。root/root(与服务器一致)。若新服务器账号变,改各档 aivfo.mybatis-plus.datasource.username/password。(历史坑:app/surface 曾是 Aivfo.2017,2026-06-18 已统一 root。)${server.ip}:22122(勿写回双 tracker :22122,:22123)。aivfo-business-manage-app-lanucher/application-local.properties 是 pc 档的整体克隆——spring.application.name=aivfo-business-manage-pc-dev、server.port=10020、contextPath=/api/businessManage/pc、platform=pc、base-package=...manage.pc.controller 全是 pc;且连错库 aivfo-tl(中划线,实测仅 4 张视频表 video/video_pictures/video_splice/video_update,是 data-transmission 的库)≠ pc/surface 的 aivfo_tl(下划线,25 张业务表)。后果:①与 pc 端口/服务名冲突,二者不能同起(实测集群只起了 pc,未起 app);②即便单起,连 aivfo-tl 取不到业务表(embryo/case_info/picture 等都不在该库)。建议修法(待你拍板,涉及改运行行为故未擅改):app 档应=pc 档结构 + app 专属身份(name=aivfo-business-manage-app-dev、contextPath=/api/businessManage/app、platform=app、base-package=...app.controller)+ DB 改 aivfo_tl(下划线)。surface 的 nacos.discovery.enabled=false(本就不注册)。ai-middleware 激活档无任何中间件连接(只有文件路径),换机不用动。-dev/-test/-hospital)里有过期 IP,当前不生效,如启用需另改。#if DEBUG 会覆盖 App.config:AppData.cs 构造函数里有 #if DEBUG 块,DEBUG 编译时无条件写死指向外网 test-gateway.aivfo.com / 211.149.139.131,App.config 完全不生效。→ 部署给客户/连测试服务器,必须 Release 编译。outInter 内外网开关:App.config outInter=1 时,代码改用硬编码外网地址(忽略 App.config 的 url/mqtt)。→ 连内网中间件必须 outInter=0。
ivf_tl_operate_2.0/ivf_tl_Operate/)App.config(App.config)键 → 代码读取处 AppData.cs:79-82、Kafka 在 App.xaml.cs:72:
| 键 | 含义 | 当前值 | 换机设为 |
|---|---|---|---|
outInter |
内/外网(0=内网读本表) | 0 | 0 |
urlIp + urlPort |
gateway 地址 | http://127.0.0.1 : 10010 | gateway 所在机(微服务在本机→127.0.0.1) |
mqttIp + mqttPort |
MQTT broker | 192.168.0.108 : 1883 | MQTT 所在机=192.168.0.108 |
kfkaIP + kfkaPort |
Kafka(oplog 操作日志,M8) | 192.168.0.108 : 9092 | Kafka 所在机=192.168.0.108 |
硬编码默认(App.config 缺键/DEBUG 时才用):
AppData.cs:59BaseUrl、:61 MqttIp;App.xaml.cs:72kfkaIP 默认 127.0.0.1。
aivfo-front-manament-2.0/ivf_tl_Manage/)App.config 键 → 代码读取处 AppData.cs:83-86:
| 键 | 含义 | 当前值 | 换机设为 |
|---|---|---|---|
outInter |
内/外网 | 0 | 0 |
urlIp + urlPort |
gateway 地址 | http://192.168.1.92 : 10010 | ⚠ gateway 所在机(待按 front 实际部署机定) |
mqttIp + mqttPort |
MQTT broker | 192.168.0.108 : 1883 | 192.168.0.108 |
front 无 Kafka/oplog 接入。硬编码默认
AppData.cs:123-125。
ivf_tl_control_2.0/ivf_tl_ControlTest/App.config)含 urlIp/kfkaIP/mqttIp(值 192.168.0.91),但 control 合并为 operate 单进程后,运行期读 operate 的 App.config,ControlTest 这份失效(且该工程计划退役,见 01 §5.5)。换机无需改它。
服务器测试环境.md)。server.ip 为新 IP;如账号密码变,改各档 datasource user/pwd。outInter=0;按第三节改 operate/front 的 urlIp/mqttIp/(operate)kfkaIP。进度状态.yaml 部署前置)。