PM2 not starting node.js app in multiple instances
node.js, pm2
Solution
Can you try running it with
pm2 start app.js -i 0 -l log/log.log
Which makes pm2 use the maximum number of cores available
Then you can view your logs in real time using
pm2 logs
Problem
Both of these each work to start my app: ``` node app pm2 start app.js ``` The following does not work (app not working but PM2 status shows 2 instances online) and does not log any errors: ``` pm2 start app.js -i 2 --watch -l log/log.log ``` Launching with the following process.json file also does not work (but PM2 status still shows 2 instances online) and does not log any errors: ``` { "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", }] } ``` Launching in fork mode with the following process.json file still does not work but does log an error. ``` { "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", }] } ``` The error it logs is "Error: listen EADDRINUSE :::3000". I checked and nothing is using port 3000. I also switched my node.js app to use a different port and it still gives an EADDRINUSE error for every port I try. I'm on a 2 core linode with Centos 7 running Plesk Onyx. What's going on that I'm missing?