Heim > Fragen und Antworten > Hauptteil
ringa_lee2017-04-17 11:08:17
Node 是单进程,有异常容易crash掉整个进程,,所以要做好异常处理,相对forever,更推荐 pm2,单进程挂了就不能服务,pm2 一个参数就可以启动多个进程服务(不用写任何代码!!!),一个挂了还有其他的可以服务,pm2也会监控进程的状态。
https://github.com/Unitech/pm2
http://devo.ps/blog/2013/06/26/goodbye-node-forever-hello-pm2.html
怪我咯2017-04-17 11:08:17
建议查下日志。如果日志不够详细,可以考虑修改程序,把error等都log下来,最简单的做法是用console.log。
另外,forever 可以自动重启服务。
ringa_lee2017-04-17 11:08:17
node的单线程导致了一旦遇到错误就会直接宕掉,而且由于其事件队列的机制,用try,catch经常抓不到错误,所以每个回调函数的err都要确定好处理错误的函数,最好能专门定义一系列异常事件来专门处理异常。
forever确实可以自动重启服务,不过不知道是不是我用的有问题,之前用它搭网站的时候,一旦出错,服务虽然会重启,但是session什么的都会丢失,很头疼...