Files
qipai/docs/mqtt-deployment.md
T

2.8 KiB
Raw Blame History

MQTT 部署记录

项目 当前值
Broker 主机 101.42.38.246
Broker 软件 EMQX 5.x(最低 5.3),待生产安装/验证
安装方式 Ubuntu Apt 原生安装,禁止 Docker
安装说明 deploy/emqx/install-ubuntu24-amd64.md
MQTTX 服务器不安装,Windows 可使用
命令行工具 mosquitto-clients 可选
匿名连接 待验证关闭
ACL 已按三个厂商 Topic 固定 deploy/emqx/acl.conf.template,生产未应用
授权配置 已生成 deploy/emqx/authorization.hocon.template,生产未应用
1883 菜单第 3 项/setup.sh --mqtt 可检查,生产未验证
18083 菜单第 3 项/setup.sh --mqtt 可检查;必须限制访问,生产未验证
备份 菜单 6 已检查 EMQX 导出能力与备份目录;生产导出演练待执行
恢复 deploy/backup/backup-restore-runbook.md 已有入口;生产恢复演练待执行

菜单 3 行为

  • 先检查 Ubuntu 架构、EMQX 包、systemd、自启、1883/18083、ACL 模板和服务器是否误装 MQTTX。
  • 未安装时可由管理员输入 I,已安装时可输入 U;脚本使用 EMQX 官方 Apt 安装脚本并执行 apt-get install -y emqx
  • Codex 不远程执行生产安装。账号、密码及认证数据只从 /etc/qipai/qipai.secrets 建立,脚本和日志不打印凭据。

后端 MQTT 基础

  • MQTT.js 5.15.1,协议固定 MQTT 3.1protocolVersion: 3)。
  • QoS 1;订阅 /devicesend/+/devicewill/+,发布 /deviceaccept/{DeviceID}
  • 持久会话、3 秒自动重连、每次连接后显式恢复订阅。
  • 默认消息上限 65536 字节,超限上行拒绝进入业务处理,超限下行不发布。
  • /app-api/ready/admin-api/ready 分别返回 MQTT 是否配置、是否连接、订阅是否恢复。
  • 生产环境缺少 MQTT 账号或密码时拒绝启动;真实值只写 /etc/qipai/qipai.secrets

WSL 本地开发 Broker

项目 当前值
用途 本地开发/测试,不代表生产 Broker
EMQX 5.8.9
systemd active/enabled
MQTTX CLI /usr/local/bin/mqttx1.13.0
监听端口 1883、8883、8083、8084、18083
可重复检查 scripts/dev/wsl/check-local-mqtt.sh
认证/ACL 冒烟入口 scripts/dev/wsl/mqtt-smoke.sh,本地账号文件 scripts/dev/wsl/mqtt-smoke.env 不入库
验收边界 未配置本地 MQTT 账号前,认证、ACL、TLS、遗嘱消息、重复消息幂等和真实硬件联调未完成

当前 M06-A 结论

  • 已提供可选择安装/更新的 Ubuntu 24.04 amd64 菜单、正式 Topic ACL、后端连接生命周期和可复现单元测试。
  • 未在生产 Ubuntu 安装 EMQX,未创建真实设备账号,未执行生产发布/订阅,因此 IOT-001 保持 PARTIAL/BLOCKED_EXTERNAL