PM2 在多个实例中未启动 node.js 应用程序
PM2 not starting node.js app in multiple instances
这两个都可以启动我的应用程序:
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",
}]
}
它记录的错误是 "Error: listen EADDRINUSE :::3000"。我检查了一下,没有任何东西在使用端口 3000。我也将我的 node.js 应用程序切换为使用不同的端口,它仍然为我尝试的每个端口提供 EADDRINUSE 错误。我在 Centos 7 运行 Plesk Onyx 的 2 核 linode 上。我错过了什么?
你能用
试试运行吗
pm2 start app.js -i 0 -l log/log.log
这使得 pm2 使用最大可用内核数
然后您可以使用
实时查看您的日志
pm2 logs
用 PM2 版本 以某种方式解决了它。
问题:在 3.0.3 版本中,它不能在集群模式下工作。
但是,当 降级时PM2 版本到 3.0.0,它起作用了。
虽然同意@robertklep 的评论。
这两个都可以启动我的应用程序:
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",
}]
}
它记录的错误是 "Error: listen EADDRINUSE :::3000"。我检查了一下,没有任何东西在使用端口 3000。我也将我的 node.js 应用程序切换为使用不同的端口,它仍然为我尝试的每个端口提供 EADDRINUSE 错误。我在 Centos 7 运行 Plesk Onyx 的 2 核 linode 上。我错过了什么?
你能用
试试运行吗pm2 start app.js -i 0 -l log/log.log
这使得 pm2 使用最大可用内核数
然后您可以使用
实时查看您的日志pm2 logs
用 PM2 版本 以某种方式解决了它。
问题:在 3.0.3 版本中,它不能在集群模式下工作。
但是,当 降级时PM2 版本到 3.0.0,它起作用了。
虽然同意@robertklep 的评论。