Ошибка при добавлении супервизора для запуска через systemd

Я пытаюсь запустить супервизор из systemd и следую этому руководству здесь .

После создания этого файла /etc/systemd/system/supervisord.service со следующим содержанием:

[Unit]
Description=Supervisor daemon
Documentation=http://supervisord.org
After=network.target

[Service]
ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisor/supervisord.conf
ExecStop=/usr/local/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/local/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
Alias=supervisord.service

Когда я запускаю его, я получаю следующую ошибку:

Mar 17 01:18:22 ubuntu-s-1vcpu-1gb-nyc3-01 systemd[1]: Started Supervisor daemon.
Mar 17 01:18:22 ubuntu-s-1vcpu-1gb-nyc3-01 systemd[8772]: supervisord.service: Failed to execute command: No such file or directory
Mar 17 01:18:22 ubuntu-s-1vcpu-1gb-nyc3-01 systemd[8772]: supervisord.service: Failed at step EXEC spawning /usr/local/bin/supervisord: No such file or directory
Mar 17 01:18:22 ubuntu-s-1vcpu-1gb-nyc3-01 systemd[1]: supervisord.service: Main process exited, code=exited, status=203/EXEC
Mar 17 01:18:22 ubuntu-s-1vcpu-1gb-nyc3-01 systemd[1]: supervisord.service: Failed with result 'exit-code'.
Mar 17 01:19:04 ubuntu-s-1vcpu-1gb-nyc3-01 systemd[1]: supervisord.service: Service hold-off time over, scheduling restart.
Mar 17 01:19:04 ubuntu-s-1vcpu-1gb-nyc3-01 systemd[1]: supervisord.service: Scheduled restart job, restart counter is at 1.
Mar 17 01:19:04 ubuntu-s-1vcpu-1gb-nyc3-01 systemd[1]: Stopped Supervisor daemon.

Ясно, что там написано, что такого каталога нет, но действительно ли создание его - правильный способ решить проблему?

Причина, по которой я не уверен, заключается в том, что, глядя на другие (я предполагаю) похожие проблемы (пример: здесь ), кажется, что они исправляют это по-другому. Также в руководстве этот путь (тот, который не существует) не упоминается где-либо еще, кроме содержимого supervisord.service , поэтому я совершенно не понимаю, что здесь происходит.

Может кто-нибудь, пожалуйста, объясните мне или укажите что-то конкретное, чтобы прочитать, чтобы решить мою проблему правильным способом?

Спасибо!

ОБНОВЛЕНИЕ

найти supervisord дает:

/etc/supervisor/supervisord.conf
/etc/systemd/system/supervisord.service
/usr/bin/echo_supervisord_conf
/usr/bin/supervisord
/usr/lib/python2.7/dist-packages/supervisor/supervisord.py
/usr/lib/python2.7/dist-packages/supervisor/supervisord.pyc
/usr/lib/python2.7/dist-packages/supervisor/tests/test_supervisord.py
/usr/lib/python2.7/dist-packages/supervisor/tests/test_supervisord.pyc
/usr/share/man/man1/echo_supervisord_conf.1.gz
/usr/share/man/man1/supervisord.1.gz
/var/log/supervisor/supervisord.log

найти supervisorctl дает:

/usr/bin/supervisorctl
/usr/lib/python2.7/dist-packages/supervisor/supervisorctl.py
/usr/lib/python2.7/dist-packages/supervisor/supervisorctl.pyc
/usr/lib/python2.7/dist-packages/supervisor/tests/test_supervisorctl.py
/usr/lib/python2.7/dist-packages/supervisor/tests/test_supervisorctl.pyc
/usr/share/man/man1/supervisorctl.1.gz
0
задан 17 March 2019 в 03:54
2 ответа

В служебном файле указаны неправильные местоположения для двоичных файлов.

В файле измените

/usr/local/bin/supervisord

на

/usr/bin/supervisord

и

/usr/local/bin/supervisorctl 

на

/usr/bin/supervisorctl 

Затем выполните команду systemctl daemon-reload , а затем systemctl start supervisord .

1
ответ дан 4 December 2019 в 13:21

На самом деле вы не следовали этому руководству и не устанавливали пакет супервизора через easy_install; он устанавливается из пакетов Ubuntu. Пакет уже содержит модуль systemd supervisor.service , который вы можете просто запустить. Вам не нужно создавать свой собственный отряд.

Этот учебник также довольно плох, поскольку не объясняет, почему они приняли странные решения, которые они приняли. Я бы просто выбросил это руководство и использовал существующий модуль супервизора, который у вас уже есть.

Конечно,Я бы также просто выбросил supervisord, потому что он избыточен; практически все, что он делает, покрывается (и лучше) системой systemd. Я бы также выбросил все учебники, которые побудили вас попробовать установить supervisord.

1
ответ дан 4 December 2019 в 13:21

Теги

Похожие вопросы