如何在启动时启动node.js + supervisor?

时间:2012-01-16 15:08:11

标签: node.js ubuntu supervisor

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

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

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

由于

2 个答案:

答案 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编写服务的说明。