Я хочу надежно перезапустить процессы моего приложения и веб-сервера в случае сбоя.
Если я правильно понимаю, runit запускает каждый сервис как дочерний процесс. Если дочерний процесс завершается сбоем, это отправляет сигнал родительскому процессу, который, в свою очередь, вызывает службу как дочерний.
Как это работает в случае выскочки. Это также порождает дочерний процесс, такой как runit?
Я подумываю использовать для этого runit. Это нужно, или выскочка достаточно хороша для этого?
Я использую nginx для своего веб-сервера и gunicorn (python) для своего сервера приложений.
Upstart идеально подходит для этого, см. respawn
раздел: http://upstart.ubuntu.com/cookbook/#respawn . Upstart - это процесс инициализации, pid 1, родитель всех других процессов.