我有一个在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
当我回顾日志时,可以看到发生了四次以上,并且每次都设法重新启动服务器。但是,当它第五次发生时,由于某种原因永远无法重启服务器,并且我的应用程序无响应。
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)
还有其他人遇到过类似的问题吗?
您必须使用-MAX这样的选项:
永远-MAX 10000000000 Mypath / ToMyFile.js
也将-minUptime设置为服务器可以保持正常运行的最短时间,如果服务器在该时间段之前崩溃,则它将不再恢复,因此将其设置为1。
forever --minUptime(此处为毫秒数)-MAX(此处为重启数)path / file.js
只需尝试一下:
forever --minUptime 1 -MAX 1000000000 YourPath / ToYourFile.js