У меня есть веб-прокси Nginx, gunicorn веб-сервер и веб-приложение Python/фляги. Процесс Gunicorn, по-видимому, умер, и я хочу повысить качество этого в будущем путем изучения утилиты, которая может контролировать и перезапустить процесс gunicorn в конечном счете, это отказывает снова.
Я нашел несколько, которые могут сделать задание:
Существует ли всесторонняя статья, которая выдерживает сравнение и контрастирует, различные утилиты раньше контролировали и перезапускали процесс?
اگر distro شما از Upstart استفاده می کند ، با آن همراه باشید. این پشتیبانی بسیار اساسی برای راه اندازی مجدد شغل است ، اما شامل محدودیت هایی است که می تواند از حلقه راه اندازی مجدد جلوگیری کند ، همانطور که توسطEEAA ذکر شده است.
اگر سیستم عامل شما از برنامه اولیه دیگری استفاده می کند ، آن را تغییر ندهید. من واقعاً نمی توانم در مورد سایر ابزارهایی که ذکر کردید به شما کمک کنم ، زیرا من به طور کلی از اوبونتو در جایی که Upstart هنوز هم وجود دارد استفاده می کنم (از آخرین LTS) ، بنابراین من کاری کم با آنها دارم. اما ایجاد یک اسکریپت ساده که از cron هر دقیقه یک بار اجرا شود (یا بیشتر به طور مثال در یک حلقه) کار سختی نیست ، که می تواند PID را بررسی کند و در صورت خرابی دوباره راه اندازی شود.
runit
является преемником daemontools
(оба написаны в c
)
supervisord
использует python
.
Я использовал runit
с socklog
того же автора внутри Alpine Linux lxc
контейнеров примерно на 10 месяцев для управления web
/ базой данных
и различными другими службами. Он легкий, простой в управлении, и у меня не было сбоев в обслуживании. Демон ведения журнала также работает как собственный пользователь, а не root
, что хорошо.
voidlinux использует runit
как систему init
, а также для надзор за службой (поиск в дереве пакетов файлов запуска
для примеров сценариев runit
).