title: PM2 not starting node.js app in multiple instances
body: <p>Both of these each work to start my app:</p>
  
  <pre><code>node app
  pm2 start app.js
  </code></pre>
  
  <p>The following does not work (app not working but PM2 status shows 2 instances online) and does not log any errors:</p>
  
  <pre><code>pm2 start app.js -i 2 --watch -l log/log.log
  </code></pre>
  
  <p>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:</p>
  
  <pre><code>{
    "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",
    }]
  }
  </code></pre>
  
  <p>Launching in fork mode with the following process.json file still does not work but does log an error.</p>
  
  <pre><code>{
    "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",
    }]
  }
  </code></pre>
  
  <p>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?</p>