Я пытаюсь запустить Mosquitto MQTT Broker в Ubuntu 16.04. У меня есть инструкции от 14.04, но поскольку 16.04 больше не использует автозагрузку, я не могу понять, как конвертировать в systemd.
Вот команды на 14.04:
description "Mosquitto MQTT broker"
start on net-device-up
respawn
exec /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
РЕДАКТИРОВАТЬ:
Это то, что я дошел до сих пор. Когда я перезагружаюсь и запускаюсь, systemctl status mosquitto.service
я показываю, что москит загружен, но не активен:
[Unit]
Description=Mosquitto MQTT Broker
[Service]
WorkingDirectory=/usr/sbin/mosquitto
ExecStart=/etc/mosquitto/mosquitto.conf
Restart=always
[Install]
WantedBy=multi-user.target
РЕДАКТИРОВАТЬ 2:
Ран sudo systemctl enable mosquitto.service
. Теперь код выхода ошибки:
Process: 1720 ExecStart=/etc/mosquitto/mosquitto.conf (code=exited, status=200/CHDIR)
-c option
?/etc/init.d/mosquitto
файле сstart
аргументом./etc/mosquitto/conf.d
директории, похоже, игнорируется. Как я могу восстановить/run/systemd/generator.late/mosquitto.service
?/etc/mosquitto/mosquitto.conf
? Что там?Файл
ExecStart=
иWorkingDirectory=
строки вашего модуля совершенно неверны. Вы пытаетесь запустить файл конфигурации, используя исполняемый файл (!) В качестве рабочего каталога?Если я правильно понимаю, правильный файл модуля будет:
Также, пожалуйста, не объединяйте запуск и включение устройства. Прочитайте мои похожие ответы об этом:
источник
Убедитесь, что у вас есть комар работает:
И у вас есть это в default.conf :
источник