【问题标题】:How do I start node.js+supervisor on boot?如何在启动时启动 node.js+supervisor?
【发布时间】:2012-02-11 12:07:17
【问题描述】:

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

当我的默认用户在终端运行时,下面的 sn-p 运行良好,但我怎样才能让它在启动时运行?

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

谢谢

【问题讨论】:

    标签: node.js ubuntu node-supervisor


    【解决方案1】:

    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
    

    我不确定你是否需要监控这种情况,因为主管有自己的 --restart-on-error。

    还有here's a whole different approach,使用包装器,你可以调用它而不是你的app.js。看起来挺有意思的。

    【讨论】:

    • 好吧,据我所知,当节点目录发生更改时,monit 并不关心重新加载节点。对吗?
    • 耶!我把它读作supervise,与节点主管完全不同:)让我更新我的答案。
    【解决方案2】:

    This Ubuntu page 有关于如何为 Ubuntu 编写服务的说明。

    【讨论】:

      猜你喜欢
      • 2015-12-08
      • 2016-11-27
      • 1970-01-01
      • 2013-01-06
      • 1970-01-01
      • 2014-02-27
      • 2011-08-17
      • 2013-12-25
      • 1970-01-01
      相关资源
      最近更新 更多