Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 

4.2 KiB

UAT 环境运维速查

部署目录:/home/admin-x99/emp/emp-uat/runtime Compose 项目名:emp-uat,网络 emp-uat_emp-net,数据卷前缀 emp-uat_,与 test 完全隔离。

1. 服务端口

对外暴露(开放外网)

服务 容器服务名 宿主机端口 容器内端口 说明
前端(Nginx) emp-admin 4755 80 管理后台入口,代理 /api//socket.io/,并转发模拟器
MySQL mysql 4757 3306 业务库 emp
TDengine UI tdengine 4759 6060 时序库管理界面
  • 管理后台:http://ip-cld.cn:4755/
  • 模拟器:http://ip-cld.cn:4755/simulator/(经 admin 内部 Nginx 转发)

仅 Docker 内网访问(不开放外网)

服务 内网地址 说明
emp-ws emp-ws:3000 Socket.IO 推送 + 模拟器,经 admin Nginx 转发,4756 不对外
emp-gateway emp-gateway:9000 API 网关(JWT 鉴权入口)
emp-auth emp-auth:9001 认证授权
emp-monitor emp-monitor:9002 业务接口
emp-data emp-data:9003 数据消费/清洗/时序写入
emp-pdf emp-pdf:3100 PDF 导出
nacos nacos:8848 注册/配置中心
redis redis:6379 缓存(DB 0)
tdengine REST tdengine:6041 时序库 REST

2. 运维速查命令

快捷函数(或使用 profiles/dc.sh):

cd /home/admin-x99/emp/emp-uat/runtime
dc() { docker compose --env-file .env -f docker-compose.yml -p emp-uat "$@"; }
操作 命令
查看所有容器状态 dc ps
跟踪某服务日志 dc logs -f emp-monitor
查看最近 200 行日志 dc logs --tail=200 emp-monitor
改 .env 后重建某服务 dc up -d emp-monitor
重启某服务(不重读 .env) dc restart emp-ws
启动全部 dc up -d
停止全部(保留数据卷) dc down
进 MySQL dc exec mysql sh -c 'mysql -uroot -p"$MYSQL_ROOT_PASSWORD" emp'
进 Redis dc exec redis sh -c 'redis-cli -a "$REDIS_PASSWORD"'
进 TDengine dc exec tdengine taos
查看资源占用 docker stats

.env 必须用 up -d 重建容器,restart 不会重新读取环境变量。

常用排查:

# 同步相关日志
dc logs -f emp-monitor | grep -E "同步"

# 查看 sync 水位(车辆/设备增量游标)
dc exec redis sh -c 'redis-cli -a "$REDIS_PASSWORD" KEYS "sync:*"'

# 排查单点登录顶号(token 版本号)
dc exec redis sh -c 'redis-cli -a "$REDIS_PASSWORD" GET auth:token-version:<userId>'

3. 关键信息

数据库 / 中间件(compose 内网自建)

  • MySQL:库 emp,内网 mysql:3306,对外 4757
  • Redis:redis:6379,DB 0
  • TDengine:库 emp,超级表 s_vehicle_datatdengine:6041,UI 对外 4759
  • Nacos:nacos:8848,开启鉴权(NACOS_AUTH_ENABLE=true

Kafka(外部,甲方提供)

  • Broker:ip-cld.cn:29362
  • 后端消费 topic:YuanJing-uat-vehicle-mock-data(group emp-uat-data-group
  • 模拟器推送 topic:uat-vehicle-real-data
  • 内部 Kafka 镜像默认不启动;本地联调需 COMPOSE_PROFILES=local-kafka

模拟器登录

  • SIMULATOR_ADMIN_ROLE=ADMIN:任意含 ADMIN 角色的账号可登录模拟器
  • 模拟器与业务后台共用账号体系,同一账号在两处登录会相互挤下线;建议模拟器与业务后台使用不同的管理员账号

环境隔离

  • compose project emp-uat,网络 emp-uat_emp-net,数据卷前缀 emp-uat_,与 test 完全隔离
  • 内网服务名(emp-ws / emp-pdf / emp-gateway 等)在各自 project 网络内解析,test / uat 互不串

4. 重要提醒

  • 现场 .env 必须使用真实密码/密钥(MySQL、Redis、JWT、COS、SYNC_TK 等),勿用占位符
  • emp-monitor 等配置可能由 Nacos 配置中心下发;改 .env 不生效时,需到 Nacos 控制台修改对应 dataId
  • 系统重装后 test / uat 均需重新全量部署,并在 TDengine 中重新创建超级表 s_vehicle_data
  • 清空车辆/设备表重新验证同步时,需同时清 Redis 水位 sync:vehicle:lastUpdateTimesync:device:lastUpdateTime,否则从游标处增量拉取不到旧数据