Eclipse Mosquitto 安装及介绍

一、主要内容

本文主要讲解Eclipse Mosquitto的安装和简单的订阅与发布。

二、安装Eclipse Mosquitto

mosquitto:MQTT broker 服务

mosquitto-clients:命令行发布 / 订阅调试工具

复制代码
# 更新软件源
sudo apt update && sudo apt upgrade -y
# 安装服务端+客户端工具
sudo apt install mosquitto mosquitto-clients -y

查看是否运行:

启动的相关命令

复制代码
# 启动
sudo systemctl start mosquitto
# 开机自启
sudo systemctl enable mosquitto
# 查看状态
sudo systemctl status mosquitto
# 重启/停止
sudo systemctl restart mosquitto
sudo systemctl stop mosquitto

三、配置文件的修改

(1)明确配置文件

根据sudo systemctl status mosquitto可知主配置路径:/etc/mosquitto/mosquitto.conf ;但是我们创建 conf.d 下面 dev.conf 它读取到该配置文件。

复制代码
tian@hang:/etc/mosquitto$ cat conf.d/README 
Any files placed in this directory that have a .conf ending will be loaded as
config files by the broker. Use this to make your local config.
tian@hang:/etc/mosquitto$ ls
aclfile.example  ca_certificates  certs  conf.d  mosquitto.conf  pskfile.example  pwfile.example

(2)创建配置文件

创建配置文件dev.conf

复制代码
sudo vim /etc/mosquitto/conf.d/dev.conf

配置文件内容

复制代码
# 监听所有网卡,标准1883端口
listener 1883 0.0.0.0
# 允许匿名登录(开发阶段关闭账号验证,生产必须禁用)
allow_anonymous true
# 日志输出控制台+文件,方便调试
log_type all
log_dest file /var/log/mosquitto/mosquitto.log
# 最大连接数,开发可调大
max_connections 1000
# MQTT 5支持
mqtt_v5 true

重启服务

复制代码
sudo systemctl reload mosquitto

放行防火墙

复制代码
# ufw防火墙放行1883
sudo ufw allow 1883/tcp
# 查看端口监听验证
ss -tulpn | grep mosquitto

四、主题的订阅与发布

(1)简单的订阅与发布

只能接收到订阅后发布的消息,订阅前发布的消息接收不到

bash 复制代码
mosquitto_sub -t test   //订阅消息
mosquitto_pub -t test -m "hello mosquitto"   //发布消息
参数说明:
  -t 后面跟着是主题title
  -m 发布的消息,message

(2)带质量等级的订阅与发布

可以接收到订阅之前发布的消息

复制代码
mosquitto_sub -t test -q 1 -c -i 1314       //订阅消息

mosquitto_pub -t test -q 1 -m '{hello 你好}'   //发布消息

参数解释:
    -q :消息质量等级
    -c : 不关闭客户端
    -i : 设置客户端id号
相关推荐
DevOpenClub几秒前
高考教育信息问答 API:会话参数、资料引用与流式响应
java·数据库·高考
测试界的小码农1 分钟前
【Linux 命令实战(03):文件创建、复制、移动与删除,掌握 touch、mkdir、cp、mv、rm】
linux·服务器·php
bro_Java66610 分钟前
《排序的底层逻辑:比较、交换与分治》
java·算法·排序算法
|_⊙16 分钟前
网络层协议 IP
服务器·网络·tcp/ip
叼烟扛炮1 小时前
Linux 学习笔记(六十):单线程的逆袭——epoll 高并发服务器实战
linux·服务器·网络·笔记·学习·算法
AR-26710-1 小时前
Linux Day32——实操五类资源告急排查
linux·运维
大维1 小时前
DBX 实测:从 SQLite 查询到 MiniMax-M3 自然语言生成 SQL
数据库·sql·sqlite
skywalk81632 小时前
hive 常驻集群:像 OSPF 一样在线,像 git 一样可信
运维·人工智能·hive
文丑颜不良啊2 小时前
LeetCode2081~2100题目解析
java·leetcode
玖米GEO运营王总监2 小时前
2026年账号矩阵协同效应怎么量化:三个指标与公式结构
java·大数据·数据库