使用 upstart 或 runit 可靠地重启服务

使用 upstart 或 runit 可靠地重启服务

我想在崩溃时可靠地重新启动我的应用程序和网络服务器进程。

如果我理解正确的话,runit 将每个服务都作为子进程启动。如果子进程崩溃,则会向父进程发送信号,父进程又会将该服务作为子进程重新生成。

在 upstart 的情况下,这如何工作?它是否也会像 runit 一样生成子进程?

我正在考虑使用 runit 来实现这一点。有必要这样做吗?还是 upstart 就足够了?

我使用 nginx 作为我的 Web 服务器,使用 gunicorn (python) 作为我的应用服务器。

答案1

Upstart 非常适合它,参见respawn以下节:http://upstart.ubuntu.com/cookbook/#respawn。Upstart 是一个 init 进程,pid 为 1,是所有其他进程的父进程。

相关内容