1.uncaughtException處理
因?yàn)閚odejs不能通過(guò)try catch來(lái)捕獲錯(cuò)誤事件,所以如果有異常錯(cuò)誤,就會(huì)導(dǎo)致nodejs進(jìn)程直接退出,所以需要通過(guò)uncaughtException事件來(lái)處理異常避免nodejs進(jìn)程異常退出
process.on('uncaughtException', function(err){
console.error(err);
});
詳細(xì)用法可以參考
https://nodejs.org/api/process.html#process_event_uncaughtexception
2.使用pm2啟動(dòng)
pm2是一個(gè)進(jìn)程管理器,通過(guò)pm2 start 來(lái)啟動(dòng)Nodejs程序,當(dāng)進(jìn)程異常退出的時(shí)候pm2會(huì)自動(dòng)嘗試重啟進(jìn)程
pm2還可以查看其所啟動(dòng)的各個(gè)進(jìn)程的內(nèi)存占用和日志等信息
安裝pm2
npm install -g pm2
啟動(dòng)pm2
pm2 start app.js
pm2 stop app.js
具體使用方法可以參考
https://www.npmjs.com/package/pm2