Eclipse Mosquitto 是一个开源(EPL/EDL 许可证)的 MQTT 消息代理(broker)
参考资料
- CentOS是一个基于 Red Hat Enterprise Linux(RHEL)源代码构建的开源 Linux 发行版
- Spug 是一款开源的轻量级自动化运维平台
- IBM Semeru Runtimes 是基于 OpenJDK 的开源 Java 运行时环境(JRE)和开发工具包(JDK)。
- SurveyKing 是一款开源在线问卷调查系统
- Rocky Linux 是一个开源企业级操作系统
- RethinkDB 是一个开源的分布式 NoSQL 数据库,专为实时应用设计
- MariaDB 是一个开源的关系型数据库管理系统
- Percona是一家提供开源数据库解决方案的公司,专注于MySQL、MongoDB、PostgreSQL等数据库的性能优化
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
。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。