我在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)
还有其他人遇到类似的问题吗?
答案 0 :(得分: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