suchen

Heim  >  Fragen und Antworten  >  Hauptteil

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

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

PHPzPHPz2795 Tage vor657

Antworte allen(3)Ich werde antworten

  • ringa_lee

    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

    Antwort
    0
  • 怪我咯

    怪我咯2017-04-17 11:08:17

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

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

    Antwort
    0
  • ringa_lee

    ringa_lee2017-04-17 11:08:17

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

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

    Antwort
    0
  • StornierenAntwort