13

我正在寻找守护我的 Node.js 应用程序。新贵和永远有什么区别?另外,还有其他我可能想考虑看的包吗?

4

4 回答 4

24

正如评论中所指出的,upstart将用于启动永久脚本,因为upstart它具有系统事件的挂钩(如服务器的关闭和启动)。

其他区别是:

  • Upstart 是为 Linux 开发的,而 forever 是独立于平台的。
  • Forever 是特定于 nodejs 的,并且在服务器崩溃后重新启动和日志记录方面具有一些非常酷的功能。
  • Forever 对于开发环境来说就足够了,而如果你需要控制你的服务器如何停止,upstart 是必要的。例如,在关机时,永远的进程会被简单地杀死,但是,使用 upstart 脚本,您可以收集日志并通知管理员。
  • Upstart 允许您添加其他监控工具,例如Monit

在其他可用的解决方案中,您可以尝试daemon,它相当于永远。

关于新贵设置,我不同意@leorex。查看此博客文章以获取一个很好的示例。

于 2013-12-16T02:12:23.450 回答
1

目标的主要区别在于 upstart 旨在在系统启动时启动应用程序。Forever 没有这个,而是专注于保持 node.js 脚本在崩溃的情况下运行(很可能是未处理的异常)。将两者结合起来是明智的。即forever yourscript.js从新贵开始(在系统启动时)。

也就是说,您需要查看特定于平台的upstart等效版本。Upstart 从未出现在 Windows 上,现在已被 ubuntu / debian 弃用:http: //www.markshuttleworth.com/archives/1316

于 2014-09-10T04:37:09.847 回答
1

upstart 是用于守护应用程序的通用实用程序。Forever 是为 Node.js 设计的。对于大多数用途来说,forever 更适合 Node.js 应用程序,因为它更简单、针对 node.js 进行了调整并且易于配置。只需尝试一些关于暴发户的教程,您就会同意我的看法。

于 2013-12-16T00:09:58.963 回答
1

2017 年,替代方案可能是:

  • 下午2点。强大、强大的社区、生产级解决方案。也可以管理非节点脚本。我个人的选择。
  • 强循环(slc)。仅限节点。面向生产的也包括构建/打包、部署到 docker、负载平衡和分析,但是是更新的。看起来很有希望。

这是两者与 Forever 的(可能是有偏见的)比较

于 2017-05-26T09:10:57.590 回答