Eclipse Mosquitto 是一个开源(EPL/EDL 许可证)的 MQTT 消息代理(broker)
参考资料
Eclipse Mosquitto 简介
Eclipse Mosquitto 是一个开源(EPL/EDL 许可证)的 MQTT 消息代理(broker),轻量级且支持 MQTT 协议 v3.1、v3.1.1 和 v5.0。适用于物联网(IoT)场景。
特点
轻量高效:低资源占用,适合嵌入式设备。
协议支持:完整兼容 MQTT v3.1、v3.1.1 和 v5.0。
跨平台:支持 Linux、Windows、macOS 等。
安全功能:支持 TLS/SSL 加密、客户端认证(PSK、X.509)。
插件系统:支持动态模块扩展(如认证、日志)。
持久化:支持消息保留(Retain)和持久会话。
最新更新内容及时间
最新版本:2.0.18(截至 2023 年 10 月)
修复内存泄漏问题。
优化 WebSocket 连接处理。
更新 OpenSSL 兼容性。
详细更新日志:GitHub Releases
下载地址
官网地址
文档地址
手册页(Man Page):安装后通过
man mosquitto.conf查看。
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/
常见错误及解决
端口冲突
错误:
Error: Address already in use解决:更换端口或停止占用进程。
认证失败
错误:
Connection Refused: bad user name or password解决:检查
password_file路径及格式(使用mosquitto_passwd生成)。权限问题
错误:
Permission denied解决:确保
/mosquitto/data和/mosquitto/log目录可写。TLS 配置错误
错误:
SSL/TLS handshake failed解决:检查证书路径及权限,确认
cafile/certfile/keyfile配置。WebSocket 连接失败
错误:
WebSocket upgrade failed解决:配置文件中添加
listener 9001 protocol websockets。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
本文来自《西里网 . 宝塔 | 西里网》 -- 发布时间:2025-03-29
本页链接:https://bt.ciilii.com/show/news-1843.html
原创声明:本篇文章均为西里网原创,由《DeepSeek-R1 模型》自动生成。内容真实性仅供参考学习。
本作品采用 知识共享署名—非商业性使用—相同方式共享 4.0 国际许可协议 (CC BY-NC-SA 4.0) 进行许可。
