0. 原料
- windows系统的主机
- mosquitto软件
1. 下载和安装mosquitto
mosquitto可以自己到GitHub上下载源码根据自己实际需求进行编译,也可以直接使用官方提供的二进制文件,我这里直接用的官方二进制文件。
到http://mosquitto.org/files/binary/下载对应windows版本的mqtt服务端软件。
我下载了这一版。
2. 配置mosquitto
只需要配置mosquitto.conf
文件。
根据我的实际需求,要开启匿名登录和远程访问。
2.1 开启匿名访问
在配置文件中搜索allow_anonymous
,去掉该行前边的#
,将false
改成true
。
2.2 开启监听和远程访问
在配置文件中搜索listener port-number
,根据提示# listener port-number [ip address/host name/unix socket path]
修改。
添加一行port 1883
,在1883端口使用mqtt协议。
如果还要开启websockets访问方式,需要再添加两行代码
listener 1884
protocol websockets
用1884服务于websockets协议
- 注:我最开始安装的版本是2.0.0,开启ws后会异常,用1883端口时,1884端口会断,用1884端口时,1883端口会断,所以换到了旧版本(1.6.10)
3. 运行mqtt
在mosquitto
的安装目录下执行mosquitto.exe -c mosquitto.conf
,执行修改后配置文件。
4. 测试MQTT
使用MQTT.fx进行测试。
5. 开机自启
上边运行mqtt程序是通过命令行手动执行,此外,也可以通过服务自启。
打开服务:
修改服务的属性:
- 将
启动类型
修改为自动
启动参数
填写-c mosquitto.conf
,目的是在启动时加载刚刚修改的那个配置文件。(不填写也行,好像默认也可以找得到那个文件?)
6. 注意事项
- 在阿里云等服务器上搭建的时候,外网想要访问mqtt,需要在服务器的安全组中开启TCP协议的1883端口访问权限,否则访问不了。
- 新旧版本的配置文件略有不同,参考conf文件中的说明配置就好。