Node.js暴发vs永远

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

正如在评论中指出的, 新贵将被用来启动永远的脚本,因为upstart挂钩系统事件(如closures和启动你的服务器)。

其他的区别是:

  • Upstart是为Linux开发的,而永远是平台无关的。
  • 永远是特定于nodejs,并具有一些非常酷的function,关于它崩溃后重新启动服务器,并logging。
  • 永远是足够的开发环境,而新贵是必要的,如果你需要有一些控制你的服务器停止。 例如,在关机时,永久进程就会被杀死,但是,用一个新贵的脚本,你可以收集日志并通知pipe理员。
  • Upstart允许您添加其他监视工具,如Monit 。

在可用的其他解决scheme中,您可以尝试守护进程 ,这相当于永远。

我不同意@leorex关于新贵设置。 看看这个博客文章的一个很好的例子。

upstart是一个用于守护应用程序的通用工具。 Forever是为Node.jsdevise的 对于大多数用途而言,Node.js应用程序永远更好,因为它更简单,可以调整为node.js并且易于configuration。 只要尝试几个新贵的教程,你会同意我的看法。

目标的主要区别在于,新贵被devise为在系统启动时启动一个应用程序。 永远没有这个,而是专注于保持一个node.js脚本运行,尽pipe崩溃(很可能是未处理的exception)。 你将是明智的结合这两个..即从forever yourscript.js开始forever yourscript.js (在系统启动)。

这就是说,你需要看看你的平台具体版本的upstart等值。 Upstart从来没有在Windows上,现在已经不推荐用于Ubuntu / Debian: http : //www.markshuttleworth.com/archives/1316

在2017年,替代scheme可能是:

  • pm2 。 健壮,强大的社区,生产级解决scheme。 也可以pipe理非节点脚本。 我个人的select。
  • StrongLoop(slc) 。 节点只。 也面向生产,包括构build/打包,部署到docker工具,负载平衡和性能分析,但更近。 看起来很有希望。

这是一个(也许是有偏见的)与Forever的比较 。