在运行 Ubuntu 11.10 的开发 VM 上安装和设置 node.js 后,我希望主管在启动时自动启动,在需要时调用和重新加载 node.js。
下面的代码片段在终端中由我的默认用户运行时效果很好,但我怎样才能让它在启动时运行?
cd /var/ && supervisor -w www www/myapp/app.js
谢谢
在运行 Ubuntu 11.10 的开发 VM 上安装和设置 node.js 后,我希望主管在启动时自动启动,在需要时调用和重新加载 node.js。
下面的代码片段在终端中由我的默认用户运行时效果很好,但我怎样才能让它在启动时运行?
cd /var/ && supervisor -w www www/myapp/app.js
谢谢
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。它看起来很有趣。
这个 Ubuntu 页面有关于如何为 Ubuntu 编写服务的说明。