首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mosquitto:在仅本地模式下启动,但无法修复

Mosquitto:在仅本地模式下启动,但无法修复
EN

Stack Overflow用户
提问于 2021-02-27 19:20:31
回答 2查看 2.1K关注 0票数 0

我的运行家庭自动化的Rpi4最近将自己从蚊子升级到版本1.6.12到2.0.8,因此它在仅本地模式下启动。

做了一些挖掘,但仍然不能让它再次工作,主要使用了前面的这个有用的问题Mosquitto: Starting in local only mode但我的设备仍然无法连接。

从我的mosquiito日志中我看到

代码语言:javascript
复制
1614386087: mosquitto version 2.0.8 starting
1614386087: Config loaded from /etc/mosquitto/mosquitto.conf.
1614386087: Opening ipv4 listen socket on port 1883.
1614386087: Opening ipv6 listen socket on port 1883.
1614386087: mosquitto version 2.0.8 running

该服务显示如下

代码语言:javascript
复制
:~$ sudo systemctl status mosquitto
* mosquitto.service - Mosquitto MQTT Broker
   Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2021-02-27 00:34:47 GMT; 10h ago
     Docs: man:mosquitto.conf(5)
           man:mosquitto(8)
  Process: 375 ExecStartPre=/bin/mkdir -m 740 -p /var/log/mosquitto (code=exited, status=0/SUCCESS)
  Process: 398 ExecStartPre=/bin/chown mosquitto: /var/log/mosquitto (code=exited, status=0/SUCCESS)
  Process: 404 ExecStartPre=/bin/mkdir -m 740 -p /var/run/mosquitto (code=exited, status=0/SUCCESS)
  Process: 411 ExecStartPre=/bin/chown mosquitto: /var/run/mosquitto (code=exited, status=0/SUCCESS)
 Main PID: 419 (mosquitto)
   Memory: 1.5M
   CGroup: /system.slice/mosquitto.service
           `-419 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

Feb 27 00:34:47 Vero4K systemd[1]: Starting Mosquitto MQTT Broker...
Feb 27 00:34:47 Vero4K mosquitto[419]: 1614386087: Loading config file /etc/mosquitto/conf.d/calz.conf
Feb 27 00:34:47 Vero4K systemd[1]: Started Mosquitto MQTT Broker.

在我的calz.conf文件中,我有

代码语言:javascript
复制
listener 1883
allow_anonymous true

但是我的Domoticz的本地版本(在相同的机器上运行)在它的日志中显示了这一点

代码语言:javascript
复制
Error: Plugin: Connection Exception: 'resolve: Host not found (authoritative)' connecting to '127.0.0.1:1883'
Error: (ShellyMQTT) Failed to connect to: 127.0.0.1:1883, Description: resolve: Host not found (authoritative)

我所有的Tasmota设备现在都显示

代码语言:javascript
复制
14:49:38 MQT: Attempting connection...
14:49:38 MQT: Connect failed to 192.168.1.19:1883, rc -2. Retry in 120 sec

我也能看到端口打开了

代码语言:javascript
复制
sudo netstat -tulpn | grep LISTEN
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      361/vsftpd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      729/sshd
tcp        0      0 0.0.0.0:37015           0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:36666           0.0.0.0:*               LISTEN      608/kodi.bin
tcp        0      0 0.0.0.0:36667           0.0.0.0:*               LISTEN      608/kodi.bin
tcp        0      0 0.0.0.0:1883            0.0.0.0:*               LISTEN      375/mosquitto
tcp        0      0 0.0.0.0:49472           0.0.0.0:*               LISTEN      763/rpc.statd
tcp        0      0 0.0.0.0:9090            0.0.0.0:*               LISTEN      608/kodi.bin
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/init
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      608/kodi.bin
tcp6       0      0 :::22                   :::*                    LISTEN      729/sshd
tcp6       0      0 :::49079                :::*                    LISTEN      763/rpc.statd
tcp6       0      0 :::36666                :::*                    LISTEN      608/kodi.bin
tcp6       0      0 :::36667                :::*                    LISTEN      608/kodi.bin
tcp6       0      0 :::1883                 :::*                    LISTEN      375/mosquitto
tcp6       0      0 :::49919                :::*                    LISTEN      -
tcp6       0      0 :::9090                 :::*                    LISTEN      608/kodi.bin
tcp6       0      0 :::111                  :::*                    LISTEN      1/init
tcp6       0      0 :::8080                 :::*                    LISTEN      608/kodi.bin

/etc/mosquitto/matterto.conf

代码语言:javascript
复制
# 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 /var/run/mosquitto/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-27 22:40:26

我想我最后把它整理好了,奇怪的组合...

更新Mosquito需要侦听器端口和匿名部分,但由于某种原因,我的Raspberry Pi在重启时切换到了来宾网络,并获得了一个新的IP,因此任何东西都不会到达它:(

我意识到当端口正在侦听时无法访问它,然后其他所有东西都是如此,比如kodi,ssh等。我碰巧在控制台上,因为当时它更方便,如果我试图通过SSH连接到它,也会失败。

票数 0
EN

Stack Overflow用户

发布于 2021-02-27 21:39:59

您的问题不是Mosquitto没有监听,而是您的设备正在尝试解析主机名127.0.0.1:1883

我怀疑您已经在字段中输入了host:port组合,

  1. 仅包含主机名/IP地址
  2. 你可能不应该进入127.0.0.1因为这总是指向输入它的设备,所以您应该输入代理实际在其上运行的IP地址。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66398275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档