Надежно перезапускать сервисы с помощью upstart или runit

Я хочу надежно перезапустить процессы моего приложения и веб-сервера в случае сбоя.

Если я правильно понимаю, runit запускает каждый сервис как дочерний процесс. Если дочерний процесс завершается сбоем, это отправляет сигнал родительскому процессу, который, в свою очередь, вызывает службу как дочерний.

Как это работает в случае выскочки. Это также порождает дочерний процесс, такой как runit?

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

Я использую nginx для своего веб-сервера и gunicorn (python) для своего сервера приложений.

1 ответ

Решение

Upstart идеально подходит для этого, видите respawn раздел: http://upstart.ubuntu.com/cookbook/. Upstart - это процесс инициализации, pid 1, родитель всех других процессов.

Другие вопросы по тегам