我有一个node.js + express web应用程序,我看到在生产中建议有一个进程管理器,以防你的node.js进程死掉。
我的问题是:您的代码中是否存在可能意外杀死它的内容,或者只是外部因素可以杀死它?
显然,我错误地认为JS中的错误会导致节点进程终止,但显然情况并非如此。
答案 0 :(得分:3)
有很多事情可能导致您的节点进程死亡。例如,它可能会耗尽内存,可能会因JS错误而崩溃等等。
在生产中,您可能希望您的节点进程在崩溃后重新启动,但您仍然应该查看它崩溃的原因并纠正您的问题。
- EDIT--要求提供JS崩溃示例
我从JS崩溃中发现的最常见的崩溃是从未测试过的db错误中的代码。我们假设my_obj不存在。它会在撞到那条线之前崩溃。
db.query(..., function(err, results){
if(err){
console.log("OH NO THERE WAS AN ERROR LOOKING UP " + my_obj);
} else {
//handle success
}
});