Linux服務器中Node服務進程避免總是崩潰持續運行的解決辦法

問題

最近在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是最好的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章