MQTT代理 — mosquitto 介绍及使用
mosquitto 是一个流行的 MQTT 代理程序,用于消息的发布和订阅。
在Linux系统中安装Mosquitto的基本步骤如下:
1. 安装 Mosquitto
对于基于Debian的系统(如Ubuntu),使用以下命令安装Mosquitto:
sudo apt-get update
sudo apt-get install mosquitto
对于基于RPM的系统(如Fedora或CentOS),使用以下命令安装:
sudo dnf install mosquitto # Fedora
sudo yum install mosquitto # CentOS
2. 配置 Mosquitto
Mosquitto的配置文件通常位于/etc/mosquitto/mosquitto.conf
。你可以使用文本编辑器编辑此文件,例如使用nano
或vim
:
sudo nano /etc/mosquitto/mosquitto.conf
或者:
sudo vim /etc/mosquitto/mosquitto.conf
配置 Mosquitto
配置文件通常位于 /etc/mosquitto/mosquitto.conf
。重要的配置项包括:
pid_file
:进程ID文件路径。persistence
:是否启用消息持久化。persistence_location
:持久化文件存储位置。log_dest
:日志文件路径。log_type
:日志类型,如错误、警告、通知等。allow_anonymous
:是否允许匿名访问。password_file
:用户密码文件路径。acl_file
:访问控制列表文件路径。listener
:监听的端口和协议。
3. 启动 Mosquitto 服务
安装完成后,你可以启动Mosquitto服务:
sudo systemctl start mosquitto
使Mosquitto服务在系统启动时自动启动:
sudo systemctl enable mosquitto
4. 验证安装
检查Mosquitto服务的状态:
sudo systemctl status mosquitto
5. 配置防火墙(如果需要)
如果你的系统使用防火墙,确保允许Mosquitto使用的端口(默认是1883):
sudo ufw allow 1883
6. 使用 Mosquitto(发布及订阅消息)
Mosquitto 是一个 MQTT 代理服务器,支持通过命令行工具 mosquitto_pub
和 mosquitto_sub
来发布和订阅消息。以下是使用这些工具进行消息发布和订阅的无密码和有密码两种方式:
-
订阅主题:
mosquitto_sub -v -t test/topic
-
发布消息到主题:
mosquitto_pub -t test/topic -m "Hello MQTT"
1.无密码方式
在没有设置密码保护的情况下,任何人都可以连接到代理服务器并发布或订阅消息。
-
订阅消息:
mosquitto_sub -h <broker_ip> -t <topic>
这里的
<broker_ip>
是 MQTT 代理服务器的 IP 地址,<topic>
是你想要订阅的主题。 -
发布消息:
mosquitto_pub