Mosquitto常用命令

article/2025/10/23 0:20:43

1 mosquitto服务器的搭建

       服务器这里使用了阿里云的服务器,mosquitto默认需要1883的TCP入端口。需要在安全策略里设置一下。端口当然也可以选其他端口进行配置。

  • 服务安装
# 服务器终端安装mosquitto和mosquitto-clients,后者是一些客户端,方便我们测试用
sudo apt install mosquitto mosquitto-clients
  •  服务状态查看
sudo systemctl status mosquitto
  • 客户端监听
mosquitto_sub 命令参数说明
1. -c  设定‘clean session’为无效状态,这样一直保持订阅状态,即便是已经失去连接,如果再次连接仍旧能够接收的断开期间发送的消息。
2. -d  打印debug信息
3. -h  指定要连接的域名  默认为localhost
4. -i 指定clientId
5. -I 指定clientId前缀
6. -k keepalive 每隔一段时间,发PING消息通知broker,仍处于连接状态。 默认为60秒。
7. -q 指定希望接收到QoS为什么的消息  默认QoS为0
8. -R 不显示陈旧的消息
9. -t 订阅topic
10. -v 打印消息
11. --will-payload  指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与--will-topic一起使用
12. --will-qos  Will的QoS值。该参数需要与--will-topic一起使用
13. --will-retain 指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与--will-topic一起使用
14. --will-topic  用户发送Will消息的topic
# mosquitto_sub 订阅消息
# -h :指定服务器地址
# -p :指定端口
# -t :指定topic
mosquitto_sub -h localhost -p 1883 -t "demo/1"
  • 发布消息
mosquitto_pub 命令参数说明
1. -d  打印debug信息
2. -f  将指定文件的内容作为发送消息的内容
3. -h  指定要连接的域名  默认为localhost
4. -i  指定要给哪个clientId的用户发送消息
5. -I  指定给哪个clientId前缀的用户发送消息
6. -m  消息内容
7. -n  发送一个空(null)消息
8. -p  连接端口号
9. -q  指定QoS的值(0,1,2)
10. -t  指定topic
11. -u  指定broker访问用户
12. -P  指定broker访问密码
13. -V  指定MQTT协议版本
14. --will-payload  指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与--will-topic一起使用
15. --will-qos  Will的QoS值。该参数需要与--will-topic一起使用
16. --will-retain 指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与--will-topic一起使用
17. --will-topic  用户发送Will消息的topic
# -m :指定消息内容
mosquitto_pub -h localhost -p 1883 -t "demo/1" -m "test"
  • 服务器关闭

# 查看mosquitto服务进程ID
ps -aux | grep mosquitto# 杀掉服务进程
# PID 为上一步查找的ID
kill -9 PID

例如:

a

  • 重启服务器

启动命令#

mosquitto [-c config file] [ -d | --daemon ] [-p port number] [-v]

  • -c 后面跟的是启动mosquitto可以调整的参数,比如是否开启基本认证,端口是什么,SSL单向和双向的认证配置等等。
  • -d 表示MQTT mosquitto将在后台运行。
  • -p 代表当前的mosquitto服务实例启动以后,其监听端口号,这个配置的覆盖[-c config file] 指定的配置文件中的端口
  • -v 代码调试模式(verbose)可以输出更多的信息
# /etc/mosquitto/mosquitto.conf 为服务器配置文件
# -d :指定服务于后台
mosquitto -c /etc/mosquitto/mosquitto.conf -d

2 服务器配置

2.1监听端口配置

        配置文件在/etc/mosquitto/mosquitto.conf,不过我们一般不修改这个文件,而是把.conf文件放到/etc/mosquitto/conf.d/下,这里举个配置端口的例子,在/etc/mosquitto/conf.d/下,新建port.conf文件,输入下面内容,可以让mosquitto服务器同时监听1885,1886,1887端口,并且把1886的协议为mqtt,1887端口协议为websockets,各取所需

port 1885
listener 1886
protocal mqtt
listener 1887
protocal websockets

2.2 用户名密码配置

# 通过用户名密码更加安全
# passwd 指定密码文件
# username 指定配置的用户名
# 回车后输入两次密码完成配置
# 这里加上-c 是让他生成密码文件,不加-c 代表已有文件,原地增加用户,第二次配置不需要输入-c
sudo mosquitto_passwd -c /etc/mosquitto/passwd username

接着在/etc/mosquitto/conf.d/下新建passwd.conf输入下面命令

allow_anonymous false
password_file /etc/mosquitto/passwd

按照1步骤重启服务器


http://chatgpt.dhexx.cn/article/FjNIKNa4.shtml

相关文章

mosquitto 在 Windows 上的安装

文章目录 第一步:准备安装文件第二步:安装Mosquitto第三步:安装OpenSSL第四步:将要求的DLL放置Mosquitto安装目录下第五步:添加环境变量第六步:验证 第一步:准备安装文件 安装文件点此下载 注…

Mosquitto --topic

订阅树的概念 Mosquitto通过订阅树的方式来管理所有的topic以及客户端的订阅关系,它首先将所有的topic按照/分割并组织成一棵树结构,从根节点到树中的每个节点即组成该节点所对应的一个topic,每个topic都保存一个订阅列表,…

Mosquitto简介及搭建

文章钢要: 1、了解Mosquitto服务器 2、在Liunx中搭建Mosquitto服务器 3、设置Mosquitto集群 一、Mosquitto简介 一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对…

[移动] Mosquitto简要教程(安装/使用/测试)

上篇文章《 Android主流推送方案分析(MQTT/XMPP/GCM)》中,我们给大家介绍了,如何在移动领域使用灵巧的消息传输协议MQTT来完成消息推送,最后也提到了开源项目Mosquitto。实际上,Mosquitto是一个实现了MQTT…

MQTT Broker mosquito配置以及使用tls证书登录附上Python调用代码

MQTT Broker mosquito配置以及使用tls证书登录 文章目录 MQTT Broker mosquito配置以及使用tls证书登录1. 前言2. 安装3. mosquito相关命令3.1 运行停止查看状态3.2 创建可以登录mosquito的用户3.3 配置权限规则文件3.4 配置mosquito3.5 使用mosquito_pub和mosquito_sub测试3.5…

Mosquitto安装及使用

本文简要介绍MQTT服务器mosquitto的安装以及最基本的使用。 第一步, 下载 我的ubuntu是16.4 64bit的虚拟机, mosquitto-1.5.tar.gz 从https://mosquitto.org/download/下载。 第二步 编译和安装 我们先解压,然后执行make, mak…

Mosquitto安装及使用简介

1、源码下载: (1)官方源码下载:http://mosquitto.org/files/source/ (2)性能优化版源码下载:https://github.com/houjixin/mosquitto-1.4.11-opt (3)性能优化版优化方…

SQL--数据查询

特别提示:图片有水印,请不要直接使用 pcshop——Oracle版本 CREATE TABLE customers ( customer_id varchar2(10) NOT NULL, firstname varchar2(32) default NULL, lastname varchar2(32) default NULL, city varchar2(32) default NULL, address var…

SQL查询优化

SQL查询优化 一、获取有性能问题SQL的三种方法 通过用户反馈获取存在性能问题的SQL 通过慢查询日志获取存在性能问题的SQL 实时获取存在性能问题的SQL 二、慢查询日志介绍 1、使用慢查询日志获取有性能问题的SQL (1) 参数配置 slow_query_log 启动停止记录慢查询日志 .…

sql查询排序

查询排序 如果需要针对查询后的结果,按照指定的数据列进行排序操作,就必须使用ORDER BY 默认排序:按照数据的插入顺序。 select * from emp;观察 语法格式 【3控制要显示的数据列】SELECT[DISTINCT]*|列名称[别名],列名称[别名…

SQL 查询数据

数据库表是存储数据库中所有数据的对象。 在表中,数据按行和列格式逻辑组织,类似于电子表格 (Excel) 在表中,每行代表一个唯一记录,每列代表记录中的一个字段。 例如, SC表包含学生成绩数据,如学生标识号&a…

SQL之查询

因为同一SQL语句,不同厂商有不同的实现方式,因此同一SQL语句不一定在所有的数据库编辑器上能够正确运行,这里采用的是华为的openGauss。 基本格式为: SELECT desired attributes FROM one or more tables WHERE condition about…

SQL查询与操作

1.单表查询 SQL 数据查询主要由 SELECT 语句完成,SELECT 语句是SQL 的核心。单表查询就是利用 SELECT语句仅从一个表/视图中查询数据。其语法如下: SELECT [DISTINCT]*{ 字段名 1,字段名 2, 字段名 3,… FROM 表名 [WHERE 条件表达式 1] [GR…

sql的查询

sql的查询 (1)什么是排序 order by(2)如何排序 》》数据库的查询(排序:order by) SELECT * FROM 表名 ORDER BY 排序字段 ASC(升序)|DESC(降序);(3)特点 指定列 指定升序或者降序 order by 排序只对数字和…

SQL 数据查询

前言,数据库中有5个表,student,sc,course,tc,teacher;(sql server里面不区分大小写) student sc tc course teacher 1. 查询软件工程学院(SE)学生的学…

SQL数据查询

目录 1、求各系学生的平均成绩,并把结果存入新建的数据库表中(请自己创建一个表存放结果) 2、统计每门课程的选修学生人数及各门课程的平均成绩 3、找出各系年龄最大的学生,显示其学号、姓名;(利用相关子…

数据库:SQL数据查询(详细、全面)

以下题目中加粗字体为重点哦~ 一、查询指定列、全部列 1.查询全体学生的学号和姓名 SELECT SNO, SN FROM S 2.查询全部列 SELECT * FROM S 二、查询经过计算的值 3. 查询全体学生的姓名、出生年份 SELECT SN, 2020-AGE FROM S 4. 查村全体学生的姓名、出生年份和系名&#xff…

2022留学生落户上海成本大概是怎样的?

现在留学生落户上海整体来说除了对于社保没有要求的落户方式,那么对于普通的留学生落户来说,就得有社保和个税的要求了,那么这里面的成本是有多少呢,下面来看看这里面的情况: 留学生落户上海根据判断自己的社保基数及累…

非上海户籍人员在上海买房需要啥条件?

和你一起终身学习,这里是程序员Android 非沪籍想在上海买房说实话有点难,毕竟每平米大几万的房价不是盖的,既然您点进来看了,说明你有这个想法,有想法就行,虽然我们不一定能买得起,但不能阻挡我…

上海落户计算机水平毕业研究生,2021上海积分落户应届毕业生直接落户上海

原标题:2021上海积分落户应届毕业生直接落户上海 ——上海落户积分120分,不是研究生毕业就有100分吗?研究生毕业就有100分,正常读书年龄肯定很小就有30分了啊,不是直接就可以落户了吗?为什么大家都在说很难…