下载

下载Mosquitto:

官网链接

安装

常规安装即可。
Windows版本需要注意: 请安装到C:\Mosquitto,或D:\Mosuqitto这样的目录,安装路径中不要包含中文和空格。

配置

配置文件在安装目录下,文件名:mosquitto.conf
1. 请先备份此文件,以防改错
2. 打开并按情况修改下面配置项
请在配置文件中搜索配置项名称, 因不同版本配置项不尽相同,无法给定行号。
附:官网的配置文件说明,链接

配置项 说明
listener 1883 0.0.0.0 此项为Broker的监听端口以及IP地址
请确保服务器对外开放此端口,如占用,请更换其他端口。
allow_anonymous 此项为Broker是否允许匿名连接
在测试时,可以打开[去掉#号,改为 allow_anonymous true]
在生产环境中,匿名连接存在安全风险
plugin Broker的身份验证插件
在未开启匿名访问时,连接Broker需要进行身份验证
请参考下一小节“身份验证插件”,安装插件,并修改此配置项

身份验证插件

客户端和设备在连接Mosquitto时,除非在允许匿名访问的情况下, 会验证身份【username用户名,password密码】。

Mosquitto的身份验证有两种方式:
1. pwfile:密码文件,适合测试或小数量设备的情况,每次修改后需要重启broker服务
2. plugin:插件方式,适合生产环境,支持http、数据库、redis等多种验证方式

UNI物联开发了一个针对Mosquitto的http接口方式身份验证的插件,点击下载
下载后解压到安装目录, 复制以下配置项,添加到 #plugin 行的后面

需要实现上面参数中的: http://192.168.1.100/auth/user/ 接口,设备连接mqtt时, 会把用户名和密码送到此接口进行验证,通过返回的HTTP状态值来判断是否允许连接(200允许,其他拒绝)

※ 如果需使用数据库等其他方式验证,推荐插件mosquitto-auth-plug ,请参照此插件说明安装,并修改Mosquitto.conf中的配置项

启动

Windows环境 测试环境下,打开命令行,进入Mosquitto安装路径,使用:
mosquitto -c mosquitto.conf
可以直观的看到运行情况;

生产环境下,请使用以下命令安装服务:
mosquitto install
服务安装后,以下配置项可能会导致服务无法启动,请修改: log_dest stdout【如有】改为log_dest stderr
Linux环境 测试环境下,可直接在Shell运行,查看运行情况;

生产环境下,请将Mosquitto加入系统启动项