Node.js Express/node服务器随机崩溃,events.js ECONNRESET
我正在使用Node.js、Express和Mongoose构建一个应用程序。我正在使用Cloud9作为开发环境。我使用express generator创建了我的应用程序的基础,并一直添加到它上 我似乎随机得到这个错误,服务器停止。它不会发生在任何特定事件期间,而是发生在页面加载之间。这似乎不会发生在任何特定的页面上 我一直都会犯这样的错误,我经常不得不重新开始Node.js Express/node服务器随机崩溃,events.js ECONNRESET,node.js,mongodb,express,Node.js,Mongodb,Express,我正在使用Node.js、Express和Mongoose构建一个应用程序。我正在使用Cloud9作为开发环境。我使用express generator创建了我的应用程序的基础,并一直添加到它上 我似乎随机得到这个错误,服务器停止。它不会发生在任何特定事件期间,而是发生在页面加载之间。这似乎不会发生在任何特定的页面上 我一直都会犯这样的错误,我经常不得不重新开始 events.js:141 throw er; // Unhandled 'error' event ^ E
events.js:141
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at exports._errnoException (util.js:870:11)
at TCP.onread (net.js:552:26)
当我遇到这个错误时,MongoDB不会崩溃。我只需要再次启动节点服务器,它就可以正常工作了。直到它再次随机崩溃
我不确定这个错误是否只是C9的一个副作用,如果是的话,我不担心它,我只是不希望它在生产中发生,特别是因为我不能很容易地看到日志
如果我真的无法“处理错误”,我想知道应该在哪里处理,我更希望我的服务器在出现问题时不要崩溃。在节点中,。要使它不被抛出,就让一个听者听它,然后自己处理它。这样,您就可以用更多信息记录错误 您还可以尝试使用有用的node.js选项
——在未捕获异常时中止。它不仅提供了更加详细和有用的错误堆栈跟踪,而且在应用程序崩溃时保存了核心文件,允许进一步调试
要为一组调用使用一个侦听器,您可以在运行时捕获其他错误。确保与http(服务器/客户端)相关的每个异步操作都位于不同的域上下文中。与代码的其他部分相比,域将自动侦听错误事件并将其传播到自己的处理程序。因此,您只需侦听该处理程序并获取错误数据。您还可以免费获得更多信息
另请参见此…您可以使用pm2
启动服务器。如果出现任何错误,您的服务器将不会崩溃。它将抛出错误并继续运行。它还提供了其他有用的功能
你可以在这里阅读更多关于pm2的信息我应该在哪里听?在每一条路线中?你链接的页面似乎没有到达正确的位置,我在该页面上找不到它。你说得很对:在移动应用程序上,链接没有跟随锚,不知道为什么…:-(在我的桌面上,它们确实可以工作……对不起……谢谢,这基本上就是我需要知道的。我本来打算在我的生产环境中使用PM2,所以我想我应该准备好了。