下载
下载Mosquitto:
官网链接安装
常规安装即可。
Windows版本需要注意: 请安装到C:\Mosquitto,或D:\Mosuqitto这样的目录,安装路径中不要包含中文和空格。
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加入系统启动项 |