当前位置: 首页 > news >正文

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


http://www.mrgr.cn/news/34049.html

相关文章:

  • 论文1—《基于卷积神经网络的手术机器人控制系统设计》文献阅读分析报告
  • 如何在 Ubuntu 22.04 上安装 ownCloud
  • 学法减分交管12123模拟练习小程序源码前端和后端和搭建教程
  • shell功能性语句
  • 地区级的可视化地图不设计,进来看看超炫的样式吧
  • ubuntu18.04上存储空间分析
  • LeetCode 热题 100 回顾
  • 2024/9/22
  • 高等数学 3.7 曲率
  • Leetcode 1039. 多边形三角形剖分的最低得分 枚举型区间dp C++实现
  • 【C++】面向对象编程的三大特性:深入解析继承机制
  • 【Linux】进程控制
  • 转行要趁早!网络安全岗人才稀缺,前景广阔,零基础入门到精通,收藏这篇就够了
  • 亲测好用,ChatGPT 3.5/4.0新手使用手册,最好论文指令手册~
  • 刚刚更新| Stable diffusion 4.9.7 升级版终于来了!(Ai绘画无需部署,解压即用)
  • C++学习笔记----7、使用类与对象获得高性能(二)---- 理解对象生命周期(8)
  • 数据结构与算法——Java实现 11.习题——有序链表去重
  • [笔记]23年度展会信息— 吊钩 起升机构
  • ElasticSearch分页查询性能及封装实现
  • 数据结构之图论初识
  • 五类ip地址的区别是什么
  • MiniMind环境搭建训练推理测试
  • HBASE_题库详解
  • 一篇讲完HTML核心内容
  • 面试官:Vue.observable你有了解过吗?说说看
  • 时序建模基础——RevIN