自学内容网 自学内容网

Ubuntu系统 MQTT Broker(Mosquitto)安装

Mosquitto 是一个开源的 MQTT(消息队列遥测传输)消息代理(broker),实现了 MQTT 协议 3.1 和 3.1.1 版本。它主要用于机器之间的消息通信(即物联网、M2M),特别是资源受限的设备和低带宽、不可靠网络的环境。

安装 Mosquitto

sudo apt update
sudo apt install mosquitto mosquitto-clients

安装完成以后Mosquitto会自动启动。

常用命令

# 启动Mosquitto
sudo systemctl start mosquitto

# 停止Mosquitto
sudo systemctl stop mosquitto

# 重启
sudo systemctl restart mosquitto

# 查看运行状态
sudo systemctl status mosquitto

# 设置开机启动
sudo systemctl enable mosquitto

# 禁用开机启动
sudo systemctl disable mosquitto

设置密码

创建密码文件

Mosquitto 提供了 mosquitto_passwd 工具来创建和管理密码文件。假设你想将用户的认证信息保存到 /etc/mosquitto/passwd 文件中:

sudo mosquitto_passwd -c /etc/mosquitto/passwd your_username
  • -c 参数表示创建一个新的密码文件(如果文件已存在,则会覆盖)。
  • your_username 是你的用户名,系统会提示你输入并确认密码。

 要添加更多用户,可以重复运行以下命令(不使用 -c,这样不会覆盖文件):

sudo mosquitto_passwd /etc/mosquitto/passwd another_username

配置 Mosquitto 使用密码文件

编辑 Mosquitto 的配置文件,一般位于 /etc/mosquitto/mosquitto.conf /etc/mosquitto/conf.d/default.conf。如果配置文件中没有 allow_anonymouspassword_file 相关配置项,可以添加以下内容:

# 禁用匿名访问
allow_anonymous false

# 指定密码文件
password_file /etc/mosquitto/passwd

保存配置文件后,重启 Mosquitto 服务使更改生效

sudo systemctl restart mosquitto

验证配置

你可以使用 Mosquitto 客户端来验证配置是否成功:

mosquitto_sub -h localhost -t test/topic -u your_username -P your_password

如果 Mosquitto 客户端能够成功连接并订阅主题 test/topic,则说明密码配置成功。

修改端口

Mosquitto 默认端口1883,可以修改配置文件来自定义端口,Mosquitto 的主配置文件通常位于 /etc/mosquitto/mosquitto.conf/etc/mosquitto/conf.d/default.conf

在配置文件中查找 listener 相关的行。如果没有找到,可以手动添加。listener 指令用于指定 Mosquitto 的监听端口和绑定的网络接口。

# 监听端口,默认是 1883(非加密端口)
listener 1883

# 如果你想将其更改为其他端口(例如 1884)
listener 1884

# 监听的网络接口,默认监听所有接口
# 可以绑定到特定的 IP 地址(例如 127.0.0.1 仅允许本地连接)
# bind_address 127.0.0.1

要使新的配置生效,需要重启 Mosquitto 服务:

sudo systemctl restart mosquitto

你可以使用以下命令来验证 Mosquitto 是否在指定的端口上监听:

sudo netstat -tulnp | grep mosquitto


原文地址:https://blog.csdn.net/tyf97/article/details/142450250

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!