Windows安装mosquitto

493 阅读2分钟

环境

Windows 10 家庭版mosquitto-2.0.14-install-windows-x64.exe

下载

官网最新版本
其他版本,进入binary目录查找 image.png

安装/配置/启动/测试

安装

一路点过去,注意所选的安装目录不要有空格 安装目录下需要注意的执行文件、配置文件如下: image.png
本例安装目录信息如下: image.png

配置

进入安装目录,找到文件 mosquitto.conf,修改如下配置:

# 端口配置,最新版本从port改成了listener
listener 1884
# 禁止匿名连接
allow_anonymous false
# 配置用户密码信息存储文件位置
password_file D:/devp/mosquitto/pwfile.example
# 配置用户-Topic绑定关系存储文件位置
acl_file D:/devp/mosquitto/aclfile.example

启动

保存配置文件后,在安装目录唤出CMD命令行窗口,启动命令:mosquitto -c mosquitto.conf,如下无任务错误信息便启动成功
image.png

使用测试

开启新的CMD窗口作为订阅的客户端,使用可执行文件订阅Topic为test-topic的消息:mosquitto_sub -v -t test-topic
image.png
再开启新的CMD窗口作为发布的客户端,使用可执行文件发布Topic为test-topic、消息内容为hello的消息:mosquitto_pub -t test-topic -m hello
image.png

权限控制

用户管理

  • mosquitto_passwd -c pwfile.example 用户名 新增后覆盖所有历史用户
  • mosquitto_passwd pwfile.example 用户名 新增单个用户,不覆盖历史用户
  • mosquitto_passwd -b pwfile.example 用户名 密码明文 使用明文密码新增用户
  • mosquitto_passwd -D passwordfile 用户名 删除用户
  • mosquitto_passwd -U passwordfile 加密用户密码文件(将一个纯文本的password文件转为hash 密码文件。它不会检查文件是否已经做过hash,也就是说如果文件已经做了hash,它会继续以此文件为基础做一次hash并导致此password文件不可用。) lQLPDhsIXZu8yA15zQH9sGj3gi8wBvhZAd5hJgVAtgA_509_121.png

配置用户-Topic的操作权限

找到 aclfile.example 文件,配置用户和其下的Topic的操作权限,保存配置后,ctrl+c 结束运行,再启动 mosquitto 服务

# 目标用户
user 用户名
## 配置用户对目标主题拥有订阅权限
topic read topic-name
## 配置用户对目标主题拥有发布权限
topic write topic-name
## 配置用户对目标主题拥有订阅/发布权限
topic topic-name
## 使用通配符,配置用户对所有主题拥有订阅/发布权限
topic #

lQLPDhsIYedxcTrNAZTNAsuwYfVbCLvZg3IB3mgwCcDQAA_715_404.png

参考链接