J'essaie d'exécuter un courtier Mosquitto MQTT sur Ubuntu 16.04. J'ai des instructions de 14.04, mais depuis 16.04 n'utilise plus de démarrage, je ne peux pas comprendre comment convertir en systemd.
Voici les commandes pour 14.04:
description "Mosquitto MQTT broker"
start on net-device-up
respawn
exec /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
ÉDITER:
C'est à cela que je suis arrivé jusqu'à présent. Lorsque je redémarre et que systemctl status mosquitto.service
je cours, je montre que le moustique est chargé mais pas actif:
[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
. Maintenant, le code de sortie d'erreur est:
Process: 1720 ExecStart=/etc/mosquitto/mosquitto.conf (code=exited, status=200/CHDIR)
-c option
?/etc/init.d/mosquitto
fichier avec l'start
argument./etc/mosquitto/conf.d
répertoire semble être ignorée. Comment puis-je me régénérer/run/systemd/generator.late/mosquitto.service
?/etc/mosquitto/mosquitto.conf
? Quoi de neuf?Les fichiers
ExecStart=
et lesWorkingDirectory=
lignes de votre unité sont complètement faux. Essayez-vous de démarrer un fichier de configuration en utilisant le fichier exécutable (!) Comme répertoire de travail?Si je comprends bien, le fichier d'unité approprié serait:
Aussi, veuillez ne pas confondre le démarrage et l'activation de l'unité. Lisez mes réponses similaires à ce sujet:
la source
Assurez-vous que le moustique est en marche:
Et vous avez ceci dans default.conf :
la source