2017-01-01 15 views
1

Первый сделал это:Не удается запустить mosquitto на raspbian Jessie с помощью systemctl

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. 

Я проделал много поисковых запросов и попробовал несколько подобных файлов, но ничего не работает.

Running, что команда вручную (/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, хотя, поэтому он должен его использовать, даже если я его не укажу ...

+0

так что происходит, если вы запускаете москит вручную с помощью '/ usr/sbin/mosquitto -c/etc/mosquitto/mosquitto.conf' ?? –

+0

@ umläute Ответ на этот вопрос довольно длинный, поэтому я поставил его на вопрос. – Alex

+0

благодарит за то, что поместил дополнительную информацию в вопрос (вот где он). проблема связана, главным образом, с разрешениями (например, вы используете этот процесс как неправильный пользователь); Каков результат 'journalctl -u mosquitto' (после неудачной попытки запустить его через systemctl) –

ответ

1

Если что-то пошло не так, хорошее начало, как правило, смотреть на в логах (все команды предполагается запустить в качестве суперпользователя):

journalctl -u mosquitto 

Теперь ваши конкретные ошибки (Error: Unable to open log file /var/log/mosquitto/mosquitto.log for writing.) намекнуть, что вы работаете с проблемой разрешения.

  • Проверьте работоспособность демона mosquitto.
  • Убедитесь, что у этого пользователя resp. написать доступ ко всем необходимым файлам (например лога)

Примечания: Это довольно легко получить неправильные разрешения сгенерированных файлов, если вы запустите процесс файла создающих при неверном пользователя (только один раз достаточно - например, во время тестирования)

 Смежные вопросы

  • Нет связанных вопросов^_^