脚本(bash)自动启动/重新启动nginx(如果失败)

有人可以帮我在我的机器上安装nginx吗? 我编译它(我用它来运行使用uwsgi_rs的Django应用程序)。

它运行正常,但我必须手动启动它。 我如何设置它来自动运行? 如果它被杀死了,再次启动(自动)? 我在说nginx和uwsgi …

您可以在nginx wiki上find一个与Ubuntu 9兼容的 init脚本。 它还包含如何安装的指导,以便在系统引导时启动。

我会build议看看runit 。 我越来越喜欢它了。 在大多数发行版上都有它的包,而且安装起来并不困难。

我不知道nginx的function,所以我只是假设你已经检查过( man nginx )它没有自动重新生成的选项。 你可以像这样创build一个简单的脚本(以root身份):

 #!/bin/bash while [ 1 ] do /usr/local/sbin/nginx done 

保存为例如/usr/local/bin/loopnginx.sh ,然后执行chmod +x /usr/local/bin/loopnginx.sh ,最后在你提到的初始化脚本中,将行

 DAEMON=/usr/local/sbin/nginx 

有:

 DAEMON=/usr/local/bin/loopnginx.sh