55.1 引言
今天在搞mqtt服务器,因为电脑装了一台Ubuntu虚拟机,所以就在Ubuntu搭建了,然后通过MQTT.fx 1.7.1客户端进行测试,想法很美好。但作为新人,很多东西不熟悉,所以这遇到一个问题,耽误了几个小时,后面经过各种测试才发现问题。
55.2 问题
我遇到的问题是已经在Ubuntu上搭建好mqtt服务器,但是在windows下的MQTT.fx客户端死活连不上,开始以为是配置问题,防火墙问题,后面经过查找果真是配置问题。
原因是Ubuntu安装mosquitto后,其默认的监听ip为回环ip的1883端口,但我windows跟虚拟机时两台主机共一个网段,windows只能访问到虚拟机的IP,但mosquitto服务器监听的不是虚拟机的IP,所以很荣幸连接不上,然后浪费几小时。
后面经过检验和查找,发现mosquitto默认监听了回环IP的端口,所以需要指定mosquitto监听虚拟机的IP和端口就好了。
最后附上我mosquitto的配置文件内容。
配置文件:mosquitto.conf
# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example
pid_file /run/mosquitto/mosquitto.pid
# 消息持久存储
persistence true
persistence_location /var/lib/mosquitto/
# 日志文件
log_dest

本文记录了在Ubuntu虚拟机中安装和配置MQTT服务器的过程,以及遇到的Windows MQTT.fx客户端无法连接的问题。问题在于mosquitto默认监听回环IP,而非虚拟机IP。解决方案是修改mosquitto配置文件,指定监听虚拟机IP。同时,文章提到了密码文件和ACL文件的配置,用于用户认证和权限控制。最终成功连接MQTT服务器,并分享了配置文件内容和MQTT.fx客户端的参数设置。
最低0.47元/天 解锁文章
728

被折叠的 条评论
为什么被折叠?



