如何在启动时启动node.js + supervisor?
问题描述:
在运行Ubuntu 11.10的开发虚拟机上安装并设置node.js之后,我想让supervisor在启动时自动启动,在需要时调用并重新加载node.js。如何在启动时启动node.js + supervisor?
下面的代码片段在终端中由我的默认用户运行时效果很好,但是如何让它在启动时运行?
cd /var/ && supervisor -w www www/myapp/app.js
感谢
答
Upstart plus monit可以很好地工作,让所有的东西在启动时运行并保持节点进程。另外你可以使用npm来安装它们。 Here's a 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这种情况下,由于上司都有自己--restart-ON误差。
和here's a whole different approach,使用一个包装器,你会调用,而不是你的app.js.它看起来很有趣。
那么,从我所知道的情况来看,当节点目录中发生更改时,monit并不在乎重新加载节点。对? – Industrial 2012-01-16 16:22:32
Gyah!我将它读作[监督](http://manpages.ubuntu.com/manpages/natty/man8/supervise.8.html),这是一个完全不同于节点主管的纱线:)让我更新我的答案。 – Kato 2012-01-16 21:07:14
非常感谢加藤! – Industrial 2012-01-21 16:19:38