gpt4 book ai didi

raspberry-pi - 无法使用 systemctl 在 raspbian jessie 上启动 mosquitto

转载 作者:行者123 更新时间:2023-12-05 02:19:48 28 4
gpt4 key购买 nike

首先这样做:

systemctl stop mosquitto
update-rc.d mosquitto remove
rm /etc/init.d/mosquitto

单元文件如下:

[Unit]
Description=MQTT v3.1 message broker
After=network.target
Requires=network.target

[Service]
Type=simple
ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Restart=always

[Install]
WantedBy=multi-user.target

结果:

sudo systemctl status mosquitto -l

是:

● mosquitto.service - MQTT v3.1 message broker
Loaded: loaded (/etc/systemd/system/mosquitto.service; enabled)
Active: failed (Result: start-limit) since Sun 2017-01-01 19:44:03 GMT; 3min 23s ago
Process: 683 ExecStart=/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf (code=exited, status=1/FAILURE)
Main PID: 683 (code=exited, status=1/FAILURE)

Jan 01 19:44:03 raspberrypi systemd[1]: Unit mosquitto.service entered failed state.
Jan 01 19:44:03 raspberrypi systemd[1]: mosquitto.service holdoff time over, scheduling restart.
Jan 01 19:44:03 raspberrypi systemd[1]: Stopping MQTT v3.1 message broker...
Jan 01 19:44:03 raspberrypi systemd[1]: Starting MQTT v3.1 message broker...
Jan 01 19:44:03 raspberrypi systemd[1]: mosquitto.service start request repeated too quickly, refusing to start.
Jan 01 19:44:03 raspberrypi systemd[1]: Failed to start MQTT v3.1 message broker.
Jan 01 19:44:03 raspberrypi systemd[1]: Unit mosquitto.service entered failed state.

我进行了大量的谷歌搜索,并尝试了一些类似的单元文件,但似乎没有任何效果。

手动运行该命令 (/usr/sbin/mosquitto -c/etc/mosquitto/mosquitto.conf) 给出:

Error: Unable to open log file /var/log/mosquitto/mosquitto.log for writing.
Error found at /etc/mosquitto/mosquitto.conf:11.
Error: Unable to open configuration file.

奇怪的是,运行 /usr/sbin/mosquitto,即不指定 .conf 文件,运行正常。/etc/mosquitto/mosquitto.conf 是默认的 .conf 文件,所以即使我没有指定它也应该使用它......

最佳答案

如果出现问题,一个好的开始通常是查看日志文件(假设所有命令都以 root 身份运行):

journalctl -u mosquitto

现在您的特定错误(错误:无法打开日志文件/var/log/mosquitto/mosquitto.log 进行写入。)暗示您遇到了权限问题。

  • 检查正在运行 mosquitto 守护程序的用户。
  • 检查该用户是否已阅读 resp。对所有必要文件(例​​如日志文件)的写入权限

注意:如果您在错误的用户下运行文件创建过程(仅一次就足够 - 例如在测试期间),则很容易获得生成文件的错误权限

关于raspberry-pi - 无法使用 systemctl 在 raspbian jessie 上启动 mosquitto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41418243/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com