Supervisor — основные команды и базовая настройка
Краткая шпаргалка по Supervisor: установка, структура конфигов, управление процессами и часто используемые команды.
# Установка (Ubuntu/Debian)
sudo apt update
sudo apt install supervisor
# Проверка статуса сервиса
sudo systemctl status supervisor
# Основной конфиг
/etc/supervisor/supervisord.conf
# Конфиги программ (рекомендуется)
/etc/supervisor/conf.d/*.conf
# Пример конфига программы
[program:worker]
command=python /app/worker.py
directory=/app
autostart=true
autorestart=true
startsecs=5
user=www-data
stdout_logfile=/var/log/worker.out.log
stderr_logfile=/var/log/worker.err.log
environment=ENV=prod,DEBUG=0
# Перечитать конфиги
sudo supervisorctl reread
sudo supervisorctl update
# Управление процессами
sudo supervisorctl status
sudo supervisorctl start worker
sudo supervisorctl stop worker
sudo supervisorctl restart worker
sudo supervisorctl tail worker
sudo supervisorctl tail -f worker stderr
# Полезные параметры program
autostart=true # запуск при старте supervisor
autorestart=true # автоперезапуск при падении
startretries=3 # попытки запуска
stopwaitsecs=10 # ожидание корректной остановки
numprocs=1 # количество процессов
process_name=%(program_name)s_%(process_num)02d
# Перезапуск supervisor (редко нужен)
sudo systemctl restart supervisor