前言
大家好,我是付工。
今天跟大家介绍一下,如何基于Mosquitto,在Windows系统上部署MQTT Broker。
MQTT Broker:即MQTT代理,又叫MQTT服务器,部署MQTT Broker可以用来测试MQTT或实际项目应用。
Mosquitto是一款实现了消息推送协议MQTT 3.1的开源消息代理软件。
部署
首先下载Windows版本的mosquitto软件,可以去官方链接下载:
https://mosquitto.org/download/
当然,我也提前给大家下载好了,【dotNet工控上位机】微信公众号回复关键词:Mosquitto
获取到软件之后,直接双击安装即可,这里要记住一下安装的路径。
安装完成后进入安装路径下,目录如下:
找到mosquitto.conf文件,这个是配置文件,修改一些信息:
1、配置文件中搜索
# listener port-number [ip address/host name/unix socket path]
将其下一行的#listener修改为listener 1883,表示监听的端口号为1883,大约在215行。
2、配置文件中搜索
# allow_anonymous false
将其修改为allow_anonymous false,这里是不允许匿名登录,如果允许匿名登录,那么修改为allow_anonymous true,大约在512行。
3、配置文件中搜索
#password_file
将其修改为password_file pwfile.example,这里是设置账户密码文件位置,默认是根目录下的pwfile.example,也可以修改为其他路径,大约在531行。
4、创建用户名和密码
在安装路径下,按住shift,右击,选择在此处打开PowerShell窗口,输入下列指令:
./mosquitto_passwd -c pwfile.example admin
该指令是指添加一个叫admin的账户,会提示连续两次输入密码,完成后,即表示账户创建成功。此时打开pwfile.example文件,可以看到admin已经添加进去了。
5、如果还想追加一个用户,可以继续执行该指令,但是要注意的是,要把-c去掉,如果仍然使用-c,会把第一个创建的用户覆盖掉,下图可以看到追加用户成功。
配置完成后,就可以启动了,重新打开一个PowerShell窗口,通过.\mosquitto.exe程序配合相关指令参数实现。
其中常用的几个指令参数如下:
-c 加载指定的配置文件,即mosquitto.conf
-d 将服务放在后台执行
-p 监听指定端口的代理,并且不建议与-c选项一起使用
-v 启用详细日志模式
我们使用指令
\mosquitto -c .\mosquitto.conf -v
表示以mosquitto.conf作为配置文件运行,同时开启详细日志模式。
测试
我们使用mqtt.fx进行测试,配置好相关信息及用户密码:
点击Connect,并发布相关消息,测试OK,结果如下:
这样,一个MQTT服务器就搭建好了。