在我的运行Ubuntu 11.10的开发VM上安装并设置好node.js后,我希望supervisor在需要时自动启动并调用和重新加载node.js。下面的代码片段在默认用户终端中运行良好,但我该如何让它在启动时运行呢?
cd /var/ && supervisor -w www www/myapp/app.js
谢谢
cd /var/ && supervisor -w www www/myapp/app.js
谢谢
Upstart加上monit可以很好地在启动时运行并保持节点进程的稳定。此外,您可以使用npm进行安装。这里有一个教程。
我不确定为什么supervisor需要在启动时运行(逻辑上,唯一需要这样做的时间是上传新文件时),但我想可以通过创建一个新的upstart配置文件(使用上面相同的教程作为基础)来在启动时启动它:
#!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,因为 supervisor 有自己的 --restart-on-error。
而 这里有一个完全不同的方法,使用一个包装器,你可以调用它代替你的 app.js。看起来非常有趣。