Ich versuche, einen Mosquitto MQTT Broker unter Ubuntu 16.04 auszuführen. Ich habe Anweisungen vom 14.04, aber da 16.04 den Start nicht mehr verwendet, kann ich nicht herausfinden, wie man in systemd konvertiert.
Hier sind die Befehle für 14.04:
description "Mosquitto MQTT broker"
start on net-device-up
respawn
exec /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
BEARBEITEN:
Das habe ich bisher erreicht. Wenn ich neu systemctl status mosquitto.service
starte und starte, zeige ich, dass Moskito geladen, aber nicht aktiv ist:
[Unit]
Description=Mosquitto MQTT Broker
[Service]
WorkingDirectory=/usr/sbin/mosquitto
ExecStart=/etc/mosquitto/mosquitto.conf
Restart=always
[Install]
WantedBy=multi-user.target
EDIT 2:
Ran sudo systemctl enable mosquitto.service
. Jetzt lautet der Fehler-Exit-Code:
Process: 1720 ExecStart=/etc/mosquitto/mosquitto.conf (code=exited, status=200/CHDIR)
-c option
?/etc/init.d/mosquitto
Datei mit demstart
Argument./etc/mosquitto/conf.d
Verzeichnis scheint ignoriert zu werden. Wie kann ich mich regenerieren/run/systemd/generator.late/mosquitto.service
?/etc/mosquitto/mosquitto.conf
? Was ist da drin?Die Dateien
ExecStart=
undWorkingDirectory=
Zeilen Ihrer Einheit sind völlig falsch. Versuchen Sie, eine Konfigurationsdatei mit der ausführbaren Datei (!) Als Arbeitsverzeichnis zu starten?Wenn ich das richtig verstehe, wäre die richtige Einheitendatei:
Bitte bringen Sie das Gerät auch nicht zusammen, um es zu starten und zu aktivieren. Lesen Sie meine ähnlichen Antworten dazu:
quelle
Stellen Sie sicher, dass Mücken laufen:
Und Sie haben dies in der default.conf :
quelle