在运行Ubuntu 11.10的开发虚拟机上安装并设置node.js之后,我希望主管在启动时自动启动,在需要时调用并重新加载node.js.
在我的默认用户在终端中运行时,下面的代码段效果很好,但是如何才能让它在启动时运行?
cd /var/ && supervisor -w www www/myapp/app.js
由于
答案 0 :(得分:8)
Upstart plus monit非常适合在启动时运行所有内容并保持节点进程。另外,您可以使用npm来安装它们。 Here's a tut
我不确定为什么主管需要在启动时运行(从逻辑上讲,只有在您上传新文件时才需要这样做),但我想象一下它可以在启动时启动,只需创建一个新的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
我不确定你是否需要monit来处理这种情况,因为主管有自己的--startart-on-error。
和here's a whole different approach,使用包装器,您将调用而不是app.js.它看起来很有趣。
答案 1 :(得分:0)
This Ubuntu page有关于如何为Ubuntu编写服务的说明。