PM2 --max-memory-restart:EADDRINUSE:地址已在使用中

时间:2019-01-26 09:31:09

标签: node.js pm2

我有一个node.js应用程序,在nginx负载均衡器后面的多个系统上运行。在白天和高峰时段,这些节点开始消耗更多的内存和CPU,并且当它们达到640MB内存阈值时会正常重启。重新启动由PM2 json脚本和max-memory-restart控制。

现在的问题是,有时(并非总是如此)重新启动后,由于端口仍在使用中,因此无法启动新进程。它在所有节点上随机发生。

错误:

  

错误:监听EADDRINUSE:地址已在使用::: 8888
      在Server.setupListenHandle上[作为_listen2](net.js:1255:14)
      在listenInCluster(net.js:1303:12)       在Server.listen(net.js:1391:7)
      ...

server.json脚本:

{
  "name"   : "server.json",
  "script" : "server.js",
  "max_memory_restart" : "640M",
  "log_date_format" : "YYYY-MM-DD HH:mm Z"
}

有什么问题?注意:我无法以集群模式启动server.json,因为每个系统只有一个CPU。

0 个答案:

没有答案