简介
MQTT 是一种基于发布/订阅模式的 轻量级物联网消息传输协议 ,可以用极少的代码和带宽为联网设备提供实时可靠的消息服务,它广泛应用于物联网、移动互联网、智能硬件、车联网、电力能源等行业。
mosquitto 实现了 MQTT v3.1 协议的开源消息代理软件,提供轻量级的、支持发布/订阅的消息摄像头模式,对设备对设备之间的短消息通信简单易用。
部署 mosquitto 服务
我使用的是华为云服务器,系统为 CentOS 7.9,理论上 7.x 版本的安装方式都大同小异。
1.安装 mosquitto
如果没有 EPEL 软件库则需要添加 EPEL 软件库
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum 安装
yum install mosquitto
2.配置 mosquitto
接下来编辑配置文件。
vim /etc/mosquitto/mosquitto.conf
以下是一些常见的配置选项:
选项 | 说明 |
---|---|
port | 指定监听端口,默认为 1883 |
pidfile | 指定进程 ID 文件的路径,默认为 /var/run/mosquitto/mosquitto.pid |
persistence true | 启用持久化功能,确保消息在服务重启后不会丢失 |
persistence_location | 指定持久化文件的路径,默认为 /var/lib/mosquitto/mosquitto.db |
allow_anonymous true | 允许匿名登录,为方便测试暂时先开启,由于我自己也没搞清楚验证机制,还有 bug 未解决,后续会更新文章 |
log_dest | 指定日志输出目标,默认为 syslog |
3.启动 mosquitto 服务
systemctl 命令
systemctl start mosquitto # 启动 mosquitto 服务
systemctl stop mosquitto # 停止 mosquitto 服务
systemctl restart mosquitto # 重启 mosquitto 服务
systemctl status mosquitto.service # 查看 mosquitto 服务状态
将 mosquitto 服务设置开机自启动。
systemctl enable mosquitto.service
没有问题,查看日志文件。
cat /etc/mosquitto/mosquitto.log
总结
至此,mosquitto 服务就算搭建完成了。接下来便是测试 MQTT 通信,我们下一篇文章将介绍用 Python 实现 MQTT 通信。
版权声明
本文系作者原创文章,未经允许不得转载,否则保留追究法律责任的权利。https://www.scott-sloan.cn/archives/216/