@motya88

Как исправишь ошибку supervisor?

на VPS c ubuntu 20.04 LTS (GNU/Linux 5.4.0-29-generic x86_64) с версией python3.8 пытаюсь установить supervisor по инструкции: https://www.digitalocean.com/community/tutorials/h...

создал файл, который положил сюда: /etc/supervisor/conf.d
Содержание файла:
[program:besik]
command=python3.8 /root/besik.py
autostart=true
autorestart=true
stderr_logfile=/root/log/besik.err.log
stdout_logfile=/root/log/besik.out.log

сам файл конфигурации:
[unix_http_server]
file=/var/run/supervisor.sock ; (the path to the socket file)
chmod=0700 ; sockef file mode (default 0700)

[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP)

; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket

; The [include] section can just contain the "files" setting. This
; setting can list multiple files (separated by whitespace or
; newlines). It can also contain wildcards. The filenames are
; interpreted as relative to this file. Included files *cannot*
; include files themselves.

[include]
files = /etc/supervisor/conf.d/*.conf

пытаюсь запустить и получаю:
root@cloth:~# service supervisor restart
Failed to restart supervisor.service: Unit supervisor.service is masked.
root@cloth:~# supervisorctl reread
error: , [Errno 2] No such file or directory: file: /usr/local/lib/python3.8/dist-packages/supervisor/xmlrpc.py line: 560
root@cloth:~# supervisorctl update
error: , [Errno 2] No such file or directory: file: /usr/local/lib/python3.8/dist-packages/supervisor/xmlrpc.py line: 560
root@cloth:~#
  • Вопрос задан
  • 5003 просмотра
Пригласить эксперта
Ответы на вопрос 2
smorman
@smorman
When In Rome do as The Romans do...
На вскидку, первая и пожалуй самая откровенная ошибка:
command=python3.8 /root/besik.py

Правильно:
command=/usr/bin/python3 /root/besik.py

Рекомендую добавить в этот юнит (как пример, значения 30, 10 меняете по вашим потребностям):
startsecs = 30
startretries=10
stopasgroup = true
priority = 999 (приоритет очерёдности загрузки процессов. По умолчанию 999 - авто)
stdout_logfile_maxbytes = 50MB - размер лог-файла (у меня 50, вы можете, как вам нужно), иначе будет писать файл, раздувая его до бесконечности и когда-нибудь увидите сообщение, что места нет!


Файл конфигурации:
Надеюсь, вы после установки Supervisor выполнили создание полного конфигурационного файла, т.к. по умолчанию, после установки урезанный только:
sudo sh -c 'echo_supervisord_conf > /etc/supervisor/supervisord.conf'

Если не сделали, то обязательно сделайте и заново настройте конфиг!!!

Теперь по конфигу, в секции:
[supervisord]
childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP
- не обязательно. Можно закомментить - ;

И наоборот - раскомментить (убрать в начале строки знак - ;) в строках:
nodaemon=true               ; (start in foreground if true;default false)
minfds=1024                  ; (min. avail startup file descriptors;default 1024)
minprocs=200

и обазательно в:
user=
дописать:
user=root
или, если эта запись ;user=root уже была, но была закомментена, то снять коммент - ;

Ну, и апосля всех манипуляций выполнить:
sudo supervisorctl reread; sudo supervisorctl update; sudo systemctl restart supervisor.service


Вот здесь Как запустить python скрипт на ubuntu чтобы он не ... можете детально посмотреть на конфиги, где я всё подробно расписал...
Ответ написан
Комментировать
@motya88 Автор вопроса
Не помогло. Все тоже самое.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы