首页 > node为什么经常跑着跑着自己断了

node为什么经常跑着跑着自己断了

如题求解。是因为服务器问题吗。。我的单核的服务器速度凑活。是并发量的问题还是?


node的单线程导致了一旦遇到错误就会直接宕掉,而且由于其事件队列的机制,用try,catch经常抓不到错误,所以每个回调函数的err都要确定好处理错误的函数,最好能专门定义一系列异常事件来专门处理异常。

forever确实可以自动重启服务,不过不知道是不是我用的有问题,之前用它搭网站的时候,一旦出错,服务虽然会重启,但是session什么的都会丢失,很头疼...


建议查下日志。如果日志不够详细,可以考虑修改程序,把error等都log下来,最简单的做法是用console.log。

另外,forever 可以自动重启服务。


Node 是单进程,有异常容易crash掉整个进程,,所以要做好异常处理,相对forever,更推荐 pm2,单进程挂了就不能服务,pm2 一个参数就可以启动多个进程服务(不用写任何代码!!!),一个挂了还有其他的可以服务,pm2也会监控进程的状态。

https://github.com/Unitech/pm2

http://devo.ps/blog/2013/06/26/goodbye-node-forever-hello-pm2.html

【热门文章】
【热门文章】