Supervisor на VPS: управление Python-процессами
Supervisor на VPS: автозапуск Celery, Gunicorn, workers. Альтернатива systemd для нескольких процессов одного приложения.
Краткий ответ: Supervisor следит за группой процессов: перезапуск при падении, единый лог, supervisorctl restart all. Удобен когда одному приложению нужны web + worker + beat.
systemd — один unit = один процесс. Supervisor — один конфиг на стек Django + Celery + RabbitMQ consumer.
Установка
sudo apt install supervisor -y
sudo systemctl enable supervisor
Конфиг Gunicorn + Celery
; /etc/supervisor/conf.d/myapp.conf
[program:gunicorn]
command=/var/www/app/venv/bin/gunicorn --bind 127.0.0.1:8000 config.wsgi:application
directory=/var/www/app
user=deploy
autostart=true
autorestart=true
stderr_logfile=/var/log/supervisor/gunicorn.err.log
stdout_logfile=/var/log/supervisor/gunicorn.out.log
[program:celery]
command=/var/www/app/venv/bin/celery -A config worker -l info
directory=/var/www/app
user=deploy
autostart=true
autorestart=true
numprocs=1
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl status
supervisorctl команды
sudo supervisorctl restart gunicorn
sudo supervisorctl tail -f celery stderr
sudo supervisorctl stop all
Supervisor vs systemd vs PM2
| Supervisor | systemd | PM2 | |
|---|---|---|---|
| Python | Отлично | Хорошо | Node-focused |
| Несколько процессов | Да | Несколько units | Да |
| Стандарт Linux | Дополнение | Нативный | npm |
Node.js — PM2. Go/Rust — systemd.
Итог
Supervisor упрощает Python-стек с воркерами. Один конфиг — web + queue + scheduler.
VPS от 2 GB — StormNet Cloud. Flask — Flask deploy.
Рекомендуем прочитать
Частые вопросы
Supervisor или systemd для Python на VPS?
systemd — стандарт для одного процесса. Supervisor удобнее когда web + celery + beat в одном конфиге.
Нужен ли Supervisor для Gunicorn?
Не обязателен — Gunicorn можно запустить через systemd. Supervisor полезен при нескольких связанных workers.






