diese beiden jede Arbeit zu meiner app zu starten:PM2 nicht an den Start node.js App in mehreren Instanzen
node app
pm2 start app.js
Die folgende funktioniert nicht (App nicht funktioniert, aber PM2 Status zeigt zwei Instanzen online) und nicht Fehler protokollieren:
pm2 start app.js -i 2 --watch -l log/log.log
auch nicht funktioniert mit der folgenden process.json Datei starten (aber PM2 Status zeigt noch zwei Instanzen online) und melden Sie sich keine Fehler:
{
"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",
}]
}
Das Starten im Fork-Modus mit der folgenden process.json-Datei funktioniert immer noch nicht, protokolliert jedoch einen Fehler.
{
"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",
}]
}
Der Fehler, den es protokolliert, ist "Fehler: höre EADDRINUSE ::: 3000". Ich habe überprüft und nichts verwendet Port 3000. Ich wechselte auch meine node.js App, um einen anderen Port zu verwenden, und es gibt immer noch einen EADDRINUSE-Fehler für jeden Port, den ich versuche. Ich bin auf einer 2-Kern Linode mit Centos 7 mit Plesk Onyx. Was ist los, dass ich vermisse?
Was 'tut mit ansehen von macht app.js' machen? – robertklep
Es ist eine Express-App. –
Es ist zu erwarten, dass Sie diesen Fehler beim Verwenden des Fork-Modus erhalten: Der Cluster-Modus erlaubt mehreren Prozessen, denselben Port zu verwenden, aber der Gabel-Modus nicht, sodass der zweite Prozess den Fehler erhält, da der erste Prozess bereits abhört auf: 3000. Ich nehme an, dass mit _ "funktioniert nicht" _ Sie meinen, Sie können Port 3000 nach dem Start von PM2 nicht zugreifen? – robertklep