一、简介
MQTT,全称Message Queuing Telemetry Transport,即“消息队列遥测传输”,MQTT协议提供了使用发布/订阅模型执行消息传递的轻量级方法,它工作在 TCP/IP协议族上,这使其适用于物联网消息传递(例如,低功率传感器)或移动设备(例如电话,嵌入式计算机或微控制器)。
支持MQTT的服务器中间件有EMQTT、Mosquitto、Apollo,其中 Eclipse Mosquitto 是实现MQTT协议版本5.0、3.1.1和3.1的开源消息代理(经EPL / EDL许可),本文讲述如何在win10环境下安装Mosquitto。
Mosquitto官网 : 点这里进入Mosquitto官网
二、安装
安装时有个坑,即安装路径不能有空格,默认安装路径为“C:\Program Files\mosquitto”,其中“Program Files”就包含空格,直接安装会报错误,提示中止,重试,忽略。因此解决办法就是直接安装到C盘根目录,或者其他没有空格的路径下。
三、启动服务
1. 安装完成后在cmd窗口里输入services.msc,检查Mosquitto服务是否启动。
2. 任务管理器最右侧“服务”,查看运行状态,如果显示“正在启动”,需要重启下计算机,直到显示为“正在运行”就可以了。
3. 此时已经可以通过mqttfx等工具进行测试,地址输入:127.0.0.1,端口:1883
四、设置用户名密码
1、找到并打开Mosquitto服务器的配置文件 C:\mosquitto\mosquitto.conf
2、将其中的配置选项allow_anonymous改为 false,禁止匿名登录
allow_anonymous false
3. 将# listener port-number [ip address/host name/unix socket path]下的端口加上,否则即便设置了禁止匿名,会发现仍然可以匿名登录。
listener 1883
4、将密码配置选项配置如下:
password_file C:\mosquitto\pwfile
5、如果该目录下没有该文件(pwfile),需要创建该文件,否则在启动服务时报错。
6、添加用户信息。在终端执行以下代码,应用mosquitto_passwd命令创建用户名
mosquitto_passwd -c C:\mosquitto\pwfile username
执行以后会提示输入密码,重复2次输入之后,用户名密码配置完成。
值得注意的是,以上命令中的-c会冲掉上一个用户名密码,即只能使用一组用户名密码。如果要添加多个,则要去掉-c命令。
7、重新启动mosquitto服务之后,用户名密码生效