【问题标题】:PM2 not starting node.js app in multiple instancesPM2 未在多个实例中启动 node.js 应用程序
【发布时间】:2017-10-07 16:00:19
【问题描述】:

这两个都可以启动我的应用程序:

node app
pm2 start app.js

以下不工作(应用不工作,但 PM2 状态显示 2 个实例在线)并且不记录任何错误:

pm2 start app.js -i 2 --watch -l log/log.log

使用以下 process.json 文件启动也不起作用(但 PM2 状态仍显示 2 个在线实例)并且不会记录任何错误:

{
  "apps" : [{
    "name"        : "app",
    "script"      : "./app.js",
    "instances"   : 0,
    "exec_mode"   : "cluster",
    "watch"       : true,
    "ignore_watch"  : ["tmp","public","images_review"],
"error_file"      : "./logs/error.log",
"out_file"        : "./logs/out.log",
    "log_date_format"  : "YYYY-MM-DD HH:mm Z",
  }]
}

使用以下 process.json 文件在 fork 模式下启动仍然无法正常工作,但会记录错误。

{
  "apps" : [{
    "name"        : "app",
    "script"      : "./app.js",
    "instances"   : 0,
    "watch"       : true,
    "ignore_watch"  : ["tmp","public","images_review"],
"error_file"      : "./logs/error.log",
"out_file"        : "./logs/out.log",
    "log_date_format"  : "YYYY-MM-DD HH:mm Z",
  }]
}

它记录的错误是“错误:监听 EADDRINUSE :::3000”。我检查并没有使用端口 3000。我还将我的 node.js 应用程序切换为使用不同的端口,但它仍然为我尝试的每个端口提供 EADDRINUSE 错误。我在一个运行 Plesk Onyx 的 Centos 7 的 2 核 linode 上。我错过了什么?

【问题讨论】:

  • app.js 是做什么的?
  • 这是一个快递应用。
  • 在使用fork模式时应该会出现这个错误:集群模式允许多个进程使用同一个端口但fork模式不允许,所以第二个启动的进程会得到错误因为第一个进程已经在监听:3000。我假设 "does not work" 是指在 pm2 启动后无法访问端口 3000?
  • 很高兴知道。
  • 我已经弄清楚为什么我的应用程序在杂乱模式下无法运行。我没有将日志目录添加到 ignore_watch 中,因此 pm2 会因为查看日志而循环记录并重新启动。

标签: node.js pm2


【解决方案1】:

PM2 版本 解决了。

问题: 在 3.0.3 版本中,它无法在集群模式下工作。
但是,将 PM2 版本降级到 3.0.0,它奏效了。

同意@robertklep 的评论。

【讨论】:

    【解决方案2】:

    你可以尝试运行它吗

    pm2 start app.js -i 0 -l log/log.log
    

    这使得 pm2 使用了最大数量的可用内核

    然后您可以使用实时查看日志

    pm2 logs
    

    【讨论】:

    • 不带手表运行。我需要将日志目录添加到 ignore_watch 否则 pm2 将由于查看日志而不断重启。
    • 很高兴你能解决这个问题。 :)。我自己从不使用--watch。我更喜欢在编辑完代码后重新启动该过程。
    • 我认为您在文件中记录了一些内容,因此因为您观看了所有内容,您的服务器会一次又一次地重新启动
    猜你喜欢
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    • 2021-09-02
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多