如何将 node.js 服务器作为守护进程启动?

新手上路,请多包涵

在 Python Twisted 中,您有 twistd 命令可以帮助您处理与运行应用程序相关的许多事情(例如,将其守护)。

你如何守护一个 node.js 服务器,以便即使在当前会话关闭后它也可以运行?

原文由 Jerome WAGNER 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

永远 是您问题的答案。

安装

$ curl https://npmjs.org/install.sh | sh
$ npm install forever
# Or to install as a terminal command everywhere:
$ npm install -g forever

用法

从命令行使用 Forever

 $ forever start server.js

使用 Node.js 中的 Forever 实例

var forever = require('forever');

  var child = new forever.Forever('your-filename.js', {
    max: 3,
    silent: true,
    args: []
  });

  child.on('exit', this.callback);
  child.start();

原文由 Baggz 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您需要您的进程自行守护进程,而不是永远中继 - 您可以使用 守护进程 模块。

 $ npm install daemonize2

然后只需编写您的服务器文件,如示例所示:

 var daemon = require("daemonize2").setup({
    main: "app.js",
    name: "sampleapp",
    pidfile: "sampleapp.pid"
});

switch (process.argv[2]) {

    case "start":
        daemon.start();
        break;

    case "stop":
        daemon.stop();
        break;

    default:
        console.log("Usage: [start|stop]");
}

请注意,这是一种相当低级的方法。

原文由 Budleigh 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏