链接:https://pan.baidu.com/s/1pFqiFq4pqFDEBv4Y-8nIWQ
提取码:7789
安装包下载在上面啦
1、解压后双击mosquitto-2.0.15-install-windows-x64文件,安装后放入文件(我放在d盘)
2、需要配置mosquitto.conf的内容
- 记事本打开文件,搜索#listener,找到# listener port-number [ip address/host name/unix socket path],在下面补充一行listener 1882。端口可以设1882、1883、1884,默认是1883,但是为了防止端口被占就设1882,如果被占了还是想用1883的话,最后有kill端口的操作。
- 搜索#allow_anonymous,修改为以下内容。false表示不允许匿名,不允许的话需要设置账号密码,连接上服务器的时候也是需要写上的;true表示允许匿名,运行匿名可以跳过后面的操作。
- 搜索#password_file,这里是放置创建账户密码的文件,后面跟随的是文件的地址,我同样设置根目录下。
- 保存conf文件,退出,在根目录下打开终端,创建账户密码,下面的语句是创建admin账户放在pwfile.example,后续创建其他账户-c需要去掉,不然会取代admin。
./mosquitto_passwd -c pwfile.example admin
在pwfile中就能看到账户密码了
3、启动服务器
在根目录下打开终端,输入:.\mosquitto -d -v
启动
重新在根目录下打开另一个终端,输入:.\
mosquitto_sub -d -v -t test
订阅主题为test的消息
再次在根目录下打开终端,输入:.\mosquitto_pub -d -t test -m hellomqtt
发布一条主题为test,消息内容为hellomqtt的消息
一共开了三个终端,一个启动服务器,一个订阅,一个发布,终端结果如下图
看到mosquitto version starting/running就是成功了
4、启动Mosquitto Broker服务
遇到的bug
到此服务器的安装使用就结束了,但是如果遇到以下的错误,客户端与服务器的连接被断开,说明缺少了三个文件。
New connection from 127.0.0.1:64041 on port 1882.
1690858735: Client <unknown> disconnected due to malformed packet.
1690858736: New connection from 127.0.0.1:64042 on port 1882.
1690858736: Client <unknown> disconnected due to malformed packet.
分别是 libeay32.dll
、 ssleay32.dll
和 pthreadVC2.dll,在上面网盘里面有提供,我看了一些教程没有说到这个,都是很顺利就启动成功了,开始我没有这三个文件连接不上,加了就成功了。
端口占用
终端查询:netstat -ano | findstr 1883
杀掉进程的命令:taskkill /pid 31196 /f
其中 /f 表示强制关闭该进程,31196 是查询结果显示的pid号(pid号一般为最末尾的一串数字)
借鉴
基于Mosquitto搭建MQTT服务器 - 知乎 (zhihu.com)