我发布这个作为答案,所以我可以提供更多的细节,以防万一有人在将来偶然发现。
在Ubuntu 18.04中设置MOSQUITTO MQTT服务器实际上并不难,但步骤很重要。
的 第1步:安装Mosquitto软件 强>
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa sudo apt-get update sudo apt-get install mosquitto
的 步骤2:打开端口1883并启动防火墙 强>
sudo ufw allow 1883 sudo ufw enable
的 第3步:验证Mosquitto尚未运行 强>
pgrep mosquitto
[注意,如果有任何数字显示,那就是已经运行的Mosquitto的PID。你可以杀了它。此外,你可以尝试: 的 sudo服务mosquitto停止 强> ]
的 第4步:使用详细选项启动Mosquitto 强>
mosquitto -v
[注意:这会在不使用任何配置文件的情况下启动Mosquitto。它将连接和状态信息发送到屏幕。最容易快速调试。]
的 步骤5:使用本地主机检查连接 强>
转到您的客户端计算机(在我的情况下是Windows 10笔记本电脑)并运行MQTT客户端,连接到Linux Mosquitto服务器的本地地址(在我的情况下为192.168.0.144)。你应该能够连接。实际上,您甚至可以在打开防火墙之前执行此步骤,因为这一切都在本地网络上,此时防火墙规则无关紧要。直到下一步......
的 第6步:使用Web工具检查连接 强>
使用: www.yougetsignal.com/tools/open-ports/ 要么 https://canyouseeme.org/
[注意:你不会得到一个 的 打开 强> 州 的 除非蚊子经纪人正在运行 强> ]
的 步骤7:如果端口从Internet进入时显示已关闭(即不是本地主机) 强>
这是我被绊倒的地方。在我的情况下,我有一个Verizon调制解调器,它也有防火墙(因为它有一个路由器)。我有自己的无线路由器,一个tp-link Archer C1200,我已插入Fios调制解调器/路由器。我首先将端口转发放在tp-link中。但是那个防火墙是在菲奥斯防火墙之后,所以我需要去第一堵墙并向那里前进。
这是第二件棘手的事情。所有在线操作方法都说我应该将端口1883转发到我的Linux服务器的本地IP地址,在我的情况下是192.168.0.144。但在我的情况下,这是不正确的。 Archer C1200实际上是我需要转发的设备 - 它从那里处理正确的分配。它从Verizon路由器分配了192.168.0.152的地址。我仍然有两个转发(即Fios和tp-link),我的猜测是我需要它们。
现在所有路径都是开放的,您可以按照其他Mosquitto关于日志记录,配置文件,守护进程等的说明进行操作。
希望这可以节省一些人在路上!