【问题标题】:how to keep a node server app running on windows server如何保持节点服务器应用程序在 Windows 服务器上运行
【发布时间】:2013-08-22 21:58:05
【问题描述】:

我正在做一个项目,我已经修改了 node.js 的“简单聊天室”示例应用程序以满足我的需要,它运行良好。

在浏览器中打开客户端页面之前,我必须调用服务器应用程序的 url(.js 文件)来启动它,到目前为止一切正常。但如果节点服务器应用因任何原因(服务器重启、iis 重启等)出现故障,客户端页面会返回错误。

我的问题是,我怎样才能让节点服务器应用程序一直保持活动状态,即使它被中断了。如果没有监视器或每 x 分钟运行一次的脚本,我怎么能做到这一点。

我正在使用 IIS 7.5 和 iisnode 模块。

谢谢

【问题讨论】:

  • 为什么不使用nssm 将节点作为服务运行?
  • nssm 看起来很有前途,我会试试看的。
  • 工作正常,感谢您的帮助
  • 太好了,我发布了一个答案,所以你可以接受它。 ;)

标签: node.js


【解决方案1】:

使用nssm 作为服务运行您的脚本文件。

【讨论】:

  • 有趣的选项。我赞成作为一个通用解决方案,但我建议我在下面为 Node 回答,这样应用程序或其环境的任何部分都不会成为特定于平台的。
  • 问题是特定于平台的,顺便说一下,如果您重新启动机器,您仍然需要启动 nodemon 和主管,在使用 nssm 时,它会自动启动并在重新启动时运行,但是对于开发,我也使用 nodemon :)
【解决方案2】:

很确定你会想要jesus

安装

$ npm install -g jesus

用法

启动监控服务器

$ jesus daemon /path/to/server.log

启动进程

$ jesus start <id> node /path/to/my-app/index.js

停止一个

$ jesus stop <id>

停止所有

$ jesus stopall

【讨论】:

    【解决方案3】:

    我不确定在 iis 中运行节点。但是,您可以查看节点包foreverpm2nodemon,它们将在失败时恢复实例。

    Here's how to install node.js as a service

    Here's something on installing node in iis 7.5


    只是一个更新。

    一年的大部分时间里,我一直在工作中使用 iisnode。如果您要部署到 Windows,我会推荐它。

    【讨论】:

    • forever 在 Windows 中目前无法正常工作,除非有一些特殊考虑(我还没有发现)
    • 我在iisnode上投入了很多时间,最后放弃了。此外,我在两个平台上运行,所以它不会是一个解决所有问题。有关我目前的解决方案,请参阅下面的答案。
    【解决方案4】:

    https://github.com/isaacs/node-supervisorhttps://github.com/remy/nodemon 的功能集略有不同,但不是特定于 Windows 的,并且仍然可以在 Windows 上运行,这与许多其他更流行但不完整的选项(例如永远和永恒)不同(无论如何,直到今天)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-04
      • 1970-01-01
      • 1970-01-01
      • 2020-04-11
      • 2018-01-19
      • 2020-02-23
      • 2019-11-03
      • 1970-01-01
      相关资源
      最近更新 更多