热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Mosquitto常用命令

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

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步骤重启服务器


推荐阅读
  • MQTT技术周报:硬件连接与协议解析
    本周开发笔记重点介绍了在新项目中使用MQTT协议进行硬件连接的技术细节,涵盖其特性、原理及实现步骤。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 本文详细介绍了如何通过RPM包在Linux系统(如CentOS)上安装MySQL 5.6。涵盖了检查现有安装、下载和安装RPM包、配置MySQL以及设置远程访问和开机自启动等步骤。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 本文详细介绍如何使用Samba软件配置CIFS文件共享服务,涵盖安装、配置、权限管理及多用户挂载等关键步骤。通过具体示例和命令行操作,帮助读者快速搭建并优化Samba服务器。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 在使用 Flutter 进行开发时,可能会遇到热更新功能无法正常工作的问题。本文将探讨一种常见的错误:无法连接到 Dart 观察站,并提供详细的解决方法。 ... [详细]
  • CentOS 6.5 上安装 MySQL 5.7.23 的详细步骤
    本文详细介绍如何在 CentOS 6.5 系统上成功安装 MySQL 5.7.23,包括卸载旧版本、下载安装包、配置文件修改及启动服务等关键步骤。 ... [详细]
author-avatar
啊123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有