web-dev-qa-db-ja.com

upstartまたはrunitを使用してサービスを確実に再起動する

クラッシュ時にアプリとWebサーバープロセスを確実に再起動したい。

正しく理解できれば、runitはすべてのサービスを子プロセスとして開始します。子プロセスがクラッシュした場合、これは親プロセスに信号を送信し、親プロセスはサービスを子として再生成します。

新興企業の場合、これはどのように機能しますか。 runitのような子プロセスも生成しますか?

このためにrunitを使用することを検討しています。それは必要ですか、それとも新興企業はこれで十分ですか?

Webサーバーにはnginxを、アプリサーバーにはgunicorn(python)を使用しています。

7
murtaza52

Upstartは完璧です。respawnスタンザを参照してください: http://upstart.ubuntu.com/cookbook/#respawn 。 Upstartは、initプロセス、pid 1、他のすべてのプロセスの親です。

4
Tuminoid