2

我有一个在 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)

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

4

1 回答 1

0

您必须使用如下选项-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

于 2020-02-15T14:12:55.380 回答