这两者都可以启动我的应用程序:
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 错误。我在一个 2 核 linode 上,运行 Plesk Onyx,运行 Centos 7。我错过了什么?