【已经解决】关于pm2与自己写的自动重启代码冲突问题(主要就是cluster)
发布于 8个月前 作者 struCoder 594 次浏览

###几句废话先: 以前没有用到过pm2也就是因为还没有到用到它的时候, 今天头一次使用让我产生很多困惑,于是乎,我来到这了。:) ###具体问题: 我在我的app.js文件夹里面写了关于自动重启的代码,也就是使用的cluster这个package, 代码就不贴了,两天的测试运行没有问题,同时网上也有关于cluster的相关解答。 我的也就是和官网差不多,唯一的区别就是使用的domain这个package。但当我使用pm2 start app.js 首次启动时,一切正常,简单的测试后也没问题,当我,stop后,我看了它的logs。

第一个疑惑:在我使用node app时,因为是4核的会显示几个worker的相关信息,然而我用pm2启动时 只有一个master的启动信息。

第二个困惑:我在使用pm2启动后,并且stop后,再用node app启动,发现启动不了, 报错也是:NOT RUNNING。之后我再用pm2启动,发现它会自动的重启,一会也就达到1k+了,之后,它就不会再自动重启了,status就直接是:errored,但是,我的程序本身没有问题,也就是换了两种启动方法。

第三个困惑:老是不好启动怎么办?两个都不好启动了,怎么办?我也就是没办法,结束进程!! 之后再用pm2重启,擦--成功了,一切正常。

###我的猜想: 因为考虑到结束进程之后就启动成功了,我想他所有的状态和bind的信息都保存在这个进程中,之所以在 这会提到bind,因为,我在用node app启动的时候,他也报错,说bind EADDRINUSE 这里的是不是指端口号?因为我端口号在两个不同的启动方式里都没变, 并且stackoverflow上也有次问题的相似者
###您的思考和想法是什么: loading------

1 回复

自己已经解决,但我想听听各位的想法 :)

回到顶部