windows下使用mosquitto

前言 : 发现好像没有多少关于windows下使用mosquitto 的 ,特此查阅文献学习

mosquitto的安装

首先我们先去官网下载windows版本的mosquitto 下载自己电脑对应架构的安装包。mosquitto下载
下载完毕之后,一直点击安装,选择自己合适的路径安装就可以了。
安装界面

环境配置

安装完毕之后,进行环境的配置。
一般来说 我们安装完之后,无法在cmd 命令行窗口直接使用,需要将安装路径配置到环境变量中。
(系统用户 path 目录下面。)
在这里插入图片描述
在这里插入图片描述

配置完成之后,我们就可以在命令行窗口执行 mosquitto -h 查看是否配置完毕。
在这里插入图片描述
正常,如果显示为下图这样,大概率是因为 服务未开启。
在这里插入图片描述
我们在系统启动win 图标 旁边进行搜索“服务”,打开服务 ,找到mosquitto 将服务开启即可。
在这里插入图片描述
在这里插入图片描述

conf 配置启动

`mosquitto -v -c <path to mosquitto.conf>`

我们可以用这个命令来启动mosquitto的详细模式,-c 表示传递mosquitto 的配置。 加上-d 标志符号 将会以后台的形式运行。 我们可以通过Ctrl + C 来让mosquitto 停止。

修改默认配置

如何修改默认的配置呢,可以借助nssm工具。
首先先确保mosquitto 服务关闭 。相关命令为:

sc stop mosquitto
sc delete mosquitto

之后执行

nssm install mosquitto "C:\Program Files\mosquitto\mosquitto.exe"
nssm set mosquitto AppParameters -c "<path to your config file>"

就可以重新注册服务了。
需要注意的是 自定义配置文件的 路径不要包含空格。

认证连接

第一次连接时,你必须配置好的你的conf文件。

例如

allow_anonymous true
listener 1883 0.0.0.0

这个配置项允许任何匿名连接,无需认证,不过不推荐这么做,容易受到攻击。
参考相关资料,cedalo,我们可以创建认证账号。
如 创建一个密码文件 ,里面写入如下内容

roger:$6$clQ4Ocu312S0qWgl$Cv2wUxgEN73c6C6jlBkswqR4AkHsvDLWvtEXZZ8NpsBLgP1WAo/qA+WXcmEN/mjDNgdUwcxRAveqNMs2xUVQYA==
sub_client:$6$U+qg0/32F0g2Fh+n$fBPSkq/rfNyEQ/TkEjRgwGTTVBpvNhKSyGShovH9KHewsvJ731tD5Zx26IHhR5RYCICt0L9qBW0/KK31UkCliw==
pub_client:$6$vxQ89y+7WrsnL2yn$fSPMmEZn9TSrC8s/jaPmxJ9NijWpkP2e7bMJLz78JXR1vW2x8+T3FZ23byJA6xs5Mt+LeOybAHwcUv0OCl40rA==

一般需要包括用户名:加密码的哈希值。
之后我们可以运用mosquitto 命令来添加账户了

mosquitto_passwd -c <path where you want your password file to be created> <user_name>

path 指的是你文件的对应路径。

如果你想要删除 ,则添加-D 参数 来删除你的认证账户。

mosquitto_passwd -D C:\"Program Files"\mosquitto\passwd user_name

如何持久化你的相关应用数据?

我们可以持久化日志数据,broker系统数据等。

持久化日志数据

我们可以在配置文件中指定log的存放路径

log_dest file C:\Program Files\mosquitto\log\mosquitto.log

添加该项,路径为你存放的具体目录。
你可以选择日志的等级,如 debug, error, warning, notice, information,等

持久化系统数据

通过在配置文件配置以下内容;

persistence true
persistence_file mosquitto.db
persistence_location C:\Program Files\mosquitto\data\
autosave_interval 60

其中persistence 表示开启持久化配置。 persistence_file 表示存储的文件
location 表示存放的位置 autosave_interval 表示 自动存储的时间间隔;

小的总结

总结以上讲到的一些配置内容如下

password_file C:\Program Files\mosquitto\passwd
allow_anonymous false
listener 1883 127.0.0.1
log_dest file C:\Program Files\mosquitto\log\mosquitto.log
log_type all
persistence true
persistence_file mosquitto.db
persistence_location C:\Program Files\mosquitto\data\
autosave_interval 60

另外还有很多的配置 我们可以查看 官方文档来进一步了解,这里不在赘述。

测试是否安装成功

可以用mosquitto sub mosquitto pub 来 进行消息的测试。

mosquitto_sub -i mosq_sub1 -t "Test topic" -d

订阅端 其中 Test topic 为你的订阅主题

mosquitto_sub -i mosq_sub1 -t "Test topic" -h localhost -p 1884 -d

如果你的broker 代理监听的端口不是默认的1883 可以通过-p参数 来实现监听

mosquitto_sub -i mosq_sub1 -t "Test topic" -h localhost -p 1884 -d

发布端, 同理 ,代码如下

mosquitto_pub -i mosq_pub1 -t "Test topic" -m "Test message" -d

此外需要注意的事 如果broker 开启了认证,需要增加额外参数,如账号密码等。

mosquitto_pub -i mosq_pub1 -t "Test topic" -m "Test message" -u <username> -P <password> -d

总结

本文介绍了mosquitto 在windows 环境下的安装,简单介绍了下conf配置文件,以及发布订阅命令等。安装mosquitto 有点类似于mysql 都是 下载安装 将服务集成到 系统服务中,mysql 可以下载一些图形管理界面来管理数据库,mosquitto 我们也可以寻找 对应的图形化管理界面 如国内emq公司出品的mqtt X ,可以很好的来进行消息的订阅和发布,本文没有介绍,感兴趣的可以去官网查看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值