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