【问题标题】:A better way to make a Node app run forever on a Linux server?让 Node 应用程序在 Linux 服务器上永久运行的更好方法?
【发布时间】:2018-07-20 08:31:44
【问题描述】:

目前我使用nohupforever.js 在服务器(Linux)上不间断地运行我的应用程序:

nohup forever app.js > logs &

另外,我还有一个 cron 脚本,可以检查我的 neo4j 数据库是否在线,并在必要时重新启动它。

但是,有时我的应用还是会退出并且不会重新启动。

我读到here,这是让node.js 运行upstartmonit 的更好方法。

有没有人有这样做的经验,它真的运作得更好吗?

执行此操作的命令是什么?

谢谢!

【问题讨论】:

  • "但是,有时我的应用程序还是会退出..." 我会调查一下应用程序退出的原因。它不应该发生,这是真正的问题。
  • @davidkonrad 完全同意你的看法——原因是它托管在共享服务器上的 WebFaction 上,有时我的 Neo4J 数据库消耗太多内存(我有一个限制),所以它们会杀死所有进程这就是为什么我认为 nohup forever restart 不起作用(尽管理论上它应该)。你说得对,我应该研究内存管理,但我仍处于“让它工作”阶段:) 谢谢!

标签: node.js upstart forever nohup monit


【解决方案1】:

我在生产环境中使用了 PM2 和 Keymetrics,它非常可靠和精简

http://pm2.keymetrics.io/docs/usage/monitoring/

https://github.com/Unitech/pm2

【讨论】:

  • 您需要为 Keymetrics 帐户付费吗?还是免费的好去处?您能否在您如何部署 PM2 的答案中提供更多细节?非常感谢!
  • 免费是 Keymetrics 的最佳选择。我认为 pm2 github repo 下的文档已经足够清晰了。您有什么具体问题吗?
  • 这真是救命稻草。了不起的东西。我记得必须用forever.js 设置它并通过nohup 启动它,但这更好!看起来很结实。谢谢!
猜你喜欢
  • 1970-01-01
  • 2023-03-21
  • 2017-05-29
  • 2017-01-02
  • 1970-01-01
  • 2020-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多