4

在运行 Ubuntu 11.10 的开发 VM 上安装和设置 node.js 后,我希望主管在启动时自动启动,在需要时调用和重新加载 node.js。

下面的代码片段在终端中由我的默认用户运行时效果很好,但我怎样才能让它在启动时运行?

cd /var/ && supervisor -w www www/myapp/app.js

谢谢

4

2 回答 2

8

Upstart plus monit 可以很好地让所有东西在启动时运行并保持节点进程正常运行。另外,您可以使用 npm 安装它们。这是一个啧啧

我不确定为什么主管需要在启动时运行(从逻辑上讲,您唯一需要的时间是在上传新文件时),但我想它可以通过创建一个新文件在启动时启动upstart 配置(使用上面相同的 tut 作为基础):

#!upstart
description "myapp supervisor"
author      "you"

start on startup
stop on shutdown

script
    echo $$ > /var/run/supervise_yourprogram.pid
    // does it need root access? if so...
    // exec sudo -u username supervisor --restart-on-error myapp.js
    supervisor --restart-on-error myapp.js
end script

pre-stop script
    rm /var/run/supervise_yourprogram.pid
end script

我不确定你是否需要监控这种情况,因为主管有自己的 --restart-on-error。

是一种完全不同的方法,使用包装器,您将调用它而不是您的 app.js。它看起来很有趣。

于 2012-01-16T16:02:11.933 回答
0

这个 Ubuntu 页面有关于如何为 Ubuntu 编写服务的说明。

于 2012-01-16T15:36:20.197 回答