【问题标题】:Forever Crashes and Doesn't Restart after 4 times4次后永远崩溃并且不重新启动
【发布时间】:2013-10-22 05:22:45
【问题描述】:

我有一个在 AWS 上运行的节点服务器,我一直使用它来保持它在后台运行。

到目前为止,我一直很开心;它非常容易设置和使用。然而,即使我的应用程序非常简单,有时它也会因以下错误而崩溃:

Express server listening on port 3001

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: connect ECONNREFUSED
    at errnoException (net.js:901:11)
    at Object.afterConnect [as oncomplete] (net.js:892:19)
error: Forever detected script exited with code: 8
error: Forever restarting script for 4 time

当我回顾日志时,我可以看到这种情况又发生了 4 次,每次都永远设法重新启动服务器。但是,当它第 5 次发生时,由于某种原因永远无法重新启动服务器,并且我的应用程序变得无响应。

Express server listening on port 3001

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: connect ECONNREFUSED
    at errnoException (net.js:901:11)
    at Object.afterConnect [as oncomplete] (net.js:892:19)
error: Forever detected script exited with code: 8

/usr/lib/node_modules/forever/node_modules/forever-monitor/node_modules/broadway/node_modules/eventemitter2/lib/ev$
          throw arguments[1]; // Unhandled 'error' event
                         ^
Error: Cannot stop process that is not running.
    at /usr/lib/node_modules/forever/node_modules/forever-monitor/lib/forever-monitor/monitor.js:332:26
    at process._tickCallback (node.js:415:13)

有没有其他人遇到过类似的问题?

【问题讨论】:

  • 您还可以修复导致服务器不断崩溃的错误。
  • 另外,nginx 与永远无关。它只是一个前端代理。
  • 您的 http 或 net 应用程序的某处存在错误,该错误会使您的应用程序崩溃。修复它,它会像假设的那样再次运行。这与永远无关。

标签: node.js forever


【解决方案1】:

您必须像这样使用选项-MAX

forever -MAX 10000000000 Mypath/ToMyFile.js         

还设置一个-minUptime 服务器可以保持的最短时间,如果它在这段时间之前崩溃,那么它不会再次上升,所以将它设置为 1。

forever --minUptime (number-in-milisecond-here) -MAX (number-of-restart-here) path/file.js

试试这个:

forever --minUptime 1 -MAX 1000000000 YourPath/ToYourFile.js

那里有更多文档 https://www.npmjs.com/package/forever

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多