Linux下学习mqtt的一些命令行参数

mosquitto命令参数说明

-c 配置文件
从文件中加载配置参数 如果没有指定默认路径为/etc/mosquitto/mosquitto.conf

-d 表示以后台守护进程的形式启动

-p 指定监听端口 默认为1883

-v 监控日志 类似于在配置文件中把log_type 设置为all

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

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

重启或关闭命令

ps -aux| grep mosquitto

kill -9 xxx
然后kill停止,然后重新启动

有时会遇到这种情况:在这里插入图片描述
然后就需要用到这个命令了。

简单的使用这些命令

mqtt的工作方式如下:
在这里插入图片描述
第一步:先要先要启动代理服务
使用命令 mosquitto -v 或 mosquitto -c mosquitto.conf
在这里插入图片描述

第二步:再开启一个服务器窗口,sub一个主题
使用命令:
mosquitto_sub -h localhost -t test -d,加-d表示后台运行( localhost 和 127.0.0.1 代表本地IP的意思 )

在这里插入图片描述
在broker(代理)上也可以看到相应的信息
在这里插入图片描述

第三步:再开启一个服务器窗口,pub一个消息到刚才订阅的主题上
使用命令:
mosquitto_pub -h localhost -m “学习mqtt很快乐” -t test -d

在这里插入图片描述

对应在订阅者上可以看到刚才发布的消息
在这里插入图片描述

### 如何在Linux系统上安装和配置MQTT服务器 #### 选择合适的MQTT服务器软件 对于Linux系统的MQTT服务器部署,可以选择多种实现方式。其中一种常见的方案是使用Mosquitto作为MQTT代理[^1]。 #### 安装Mosquitto MQTT服务器 为了在Linux环境中设置Mosquitto MQTT服务器,可以利用包管理器简化这一过程。针对基于Debian/Ubuntu的操作系统,可以通过以下命令来完成安装: ```bash sudo apt update && sudo apt install mosquitto mosquitto-clients -y ``` 这条指令不仅会安装Mosquitto服务本身,还会一并安装用于测试发布的客户端工具集`mosquitto-clients`[^2]。 #### 启动与启用Mosquitto服务 一旦安装完毕,应当立即启动Mosquitto服务,并将其设为开机自启项以确保重启后仍能自动运行。这可通过systemd来进行操作: ```bash sudo systemctl start mosquitto.service sudo systemctl enable mosquitto.service ``` 确认服务状态正常可执行如下命令查看当前活动情况: ```bash sudo systemctl status mosquitto.service ``` #### 配置Mosquitto 默认情况下,Mosquitto将以最基础的方式工作而无需额外调整;然而,在生产环境里通常建议修改配置文件 `/etc/mosquitto/conf.d/default.conf` 来增强安全性以及适应具体需求。例如设定监听端口、允许匿名访问等参数[^4]。 #### 测试发布订阅功能 借助之前一同安装好的命令行工具 `mosquitto_pub` 和 `mosquitto_sub` 可方便地检验基本的消息传递能力。在一个终端窗口中开启订阅者模式等待接收消息: ```bash mosquitto_sub -t "test/topic" ``` 而在另一个终端发送一条测试信息给上述主题: ```bash mosquitto_pub -t "test/topic" -m "Hello, MQTT!" ``` 如果一切顺利,则应该能在第一个终端看到所发出的信息被成功接收到。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值