参考资料

  1. ERPNext 14 是一款开源的企业资源规划(ERP)系统
  2. Backdrop 是一个轻量级、高性能的反向代理工具
  3. Elixir 是一种基于 Erlang 虚拟机的函数式编程语言
  4. Telegraf 是由 InfluxData 开发的开源服务器代理
  5. Cirros是一个轻量级的Linux发行版
  6. SimpleDocker 是一个轻量级 Docker 管理工具
  7. ClearLinux 是由 Intel 开发的一个基于 Linux 的操作系统
  8. MariaDB 是一个开源的关系型数据库管理系统

Eclipse Mosquitto 是一个开源(EPL/EDL 许可证)的 MQTT 消息代理(broker)

Eclipse Mosquitto 简介

Eclipse Mosquitto 是一个开源(EPL/EDL 许可证)的 MQTT 消息代理(broker),轻量级且支持 MQTT 协议 v3.1、v3.1.1 和 v5.0。适用于物联网(IoT)场景。

特点

  1. 轻量高效:低资源占用,适合嵌入式设备。

  2. 协议支持:完整兼容 MQTT v3.1、v3.1.1 和 v5.0。

  3. 跨平台:支持 Linux、Windows、macOS 等。

  4. 安全功能:支持 TLS/SSL 加密、客户端认证(PSK、X.509)。

  5. 插件系统:支持动态模块扩展(如认证、日志)。

  6. 持久化:支持消息保留(Retain)和持久会话。

最新更新内容及时间

  • 最新版本:2.0.18(截至 2023 年 10 月)

    • 修复内存泄漏问题。

    • 优化 WebSocket 连接处理。

    • 更新 OpenSSL 兼容性。

    • 详细更新日志:GitHub Releases

下载地址

官网地址

https://mosquitto.org/

文档地址


Docker 安装示例

docker run -d -p 1883:1883 -p 9001:9001 -v /path/to/config:/mosquitto/config -v /path/to/data:/mosquitto/data eclipse-mosquitto

YAML 配置示例(通常使用 .conf 文件)

Mosquitto 默认使用 .conf 格式,但可通过工具转换 YAML。示例等效配置:

listener:
  port: 1883
  protocol: mqtt
allow_anonymous: false
password_file: /mosquitto/config/passwd
persistence: true
persistence_location: /mosquitto/data/

实际应使用 .conf 文件(如 mosquitto.conf):

listener 1883
allow_anonymous false
password_file /mosquitto/config/passwd
persistence true
persistence_location /mosquitto/data/

常见错误及解决

  1. 端口冲突

    • 错误:Error: Address already in use

    • 解决:更换端口或停止占用进程。

  2. 认证失败

    • 错误:Connection Refused: bad user name or password

    • 解决:检查 password_file 路径及格式(使用 mosquitto_passwd 生成)。

  3. 权限问题

    • 错误:Permission denied

    • 解决:确保 /mosquitto/data/mosquitto/log 目录可写。

  4. TLS 配置错误

    • 错误:SSL/TLS handshake failed

    • 解决:检查证书路径及权限,确认 cafile/certfile/keyfile 配置。

  5. WebSocket 连接失败

    • 错误:WebSocket upgrade failed

    • 解决:配置文件中添加 listener 9001 protocol websockets