根据我的经验,php服务器会向日志或服务器端抛出异常,但node.js只是简单地崩溃。使用try-catch包围我的代码也不起作用,因为一切都是异步完成的。我想知道其他人在他们的生产服务器上做什么。
发布于 2011-05-14 10:08:48
我把这段代码放在我的require语句和全局声明下面:
process.on('uncaughtException', function (err) {
console.error(err);
console.log("Node NOT Exiting...");
});
这对我很有效。我唯一不喜欢的是,如果我只是让它崩溃,我得到的信息就不会那么多了。
发布于 2012-02-23 20:10:51
正如前面提到的here,您会发现error.stack
提供了更完整的错误消息,比如导致错误的行号:
process.on('uncaughtException', function (error) {
console.log(error.stack);
});
发布于 2011-05-14 10:06:13
npm install supervisor
supervisor app.js
或者,您也可以安装forever
。
所要做的就是在服务器崩溃时通过重新启动来恢复它。
可以在代码中使用forever
来正常恢复任何崩溃的进程。
forever
文档提供了关于以编程方式退出/错误处理的可靠信息。
https://stackoverflow.com/questions/5999373
复制相似问题