问题
最近在linux服务器中部署了一套node服务接口,但是总是过了几天后接口调用者就反映服务调不起来了,在服务器上看了一下,进程不知道什么时候崩了。
之前一直是用
forever start app.js
启动服务
可能的原因
首先,就是代码问题,调用的时候可能抛出异常,单线程的node服务就直接崩了
解决办法
捕获并打印异常,从不退出node服务
用法
app.listen(config.port,()=>{
console.log(config.port,process.pid)
console.log("server online")
});
process.on('uncaughtException', function (err) {
console.log('Caught Exception:' + err);//直接捕获method()未定义函数,Node进程未被退出。
});
另外
看到网上还有用pm2的,没用过,不过我感觉捕获异常相对省事一点吧,当然找到并解决bug是最好的