title: Nodejs Express on Heroku App EACCES 0.0.0.0:80
body: <p>I am trying to run a Node app on a newly created Heroku App from their web. I followed their steps and still I am getting errors when displaying app status.</p>
  
  <p>I followed the <a href="https://devcenter.heroku.com/articles/getting-started-with-nodejs" rel="noreferrer">Node.js getting started</a> section without the <code>heroku create</code> command since I already created from the web.</p>
  
  <p>So when I run: <code>heroku ps:scale web=1</code> it shows me:</p>
  
  <blockquote>
    <p>Scaling dynos... done, now running web at 1:Free</p>
  </blockquote>
  
  <p>But when running <code>heroku ps</code>:</p>
  
  <blockquote>
    <p>=== web (Free): npm run start (1)</p>
    
    <p>web.1: crashed 2018/10/25 11:25:49 -0300 (~ 8m ago)</p>
  </blockquote>
  
  <p>So my logs on <code>heroku logs --tail</code> show me this error:</p>
  
  <blockquote>
    <p>2018-10-25T14:25:44.000000+00:00 app[api]: Build succeeded</p>
    
    <p>2018-10-25T14:25:46.451739+00:00 heroku[web.1]: Starting process with command <code>npm run start</code></p>
    
    <p>2018-10-25T14:25:49.113832+00:00 app[web.1]:</p>
    
    <p>2018-10-25T14:25:49.113864+00:00 app[web.1]: > my-app@1.0.0 start /app</p>
    
    <p>2018-10-25T14:25:49.113866+00:00 app[web.1]: > node server.js</p>
    
    <p>2018-10-25T14:25:49.113867+00:00 app[web.1]:</p>
    
    <p>2018-10-25T14:25:49.418151+00:00 app[web.1]: events.js:167</p>
    
    <p>2018-10-25T14:25:49.418191+00:00 app[web.1]: throw er; // Unhandled 'error' event</p>
    
    <p>2018-10-25T14:25:49.418193+00:00 app[web.1]: ^</p>
    
    <p>2018-10-25T14:25:49.418194+00:00 app[web.1]:</p>
    
    <p>2018-10-25T14:25:49.418196+00:00 app[web.1]: Error: listen EACCES 0.0.0.0:80</p>
  </blockquote>
  
  <p>So I checked if I made a mistake while setting all up.</p>
  
  <p>I use a simple Express routing and server with this code:</p>
  
  <pre><code>app.get('/', (req, res) =&gt; { ... });
  app.listen(80, err =&gt; {
      if(err) throw err;
      console.log("%c Server running", "color: green");
  });
  </code></pre>
  
  <p>Also I made sure I added <code>engines</code> to <strong>package.json</strong>:</p>
  
  <pre><code>"scripts": {
      "start": "node server.js"
  },
  "engines": {
      "node": "10.11.0",
      "npm": "6.4.1"
  },
  </code></pre>
  
  <p>I've also created a <strong>Procfile</strong> file in the root path with <code>web: npm run start</code> inside.</p>
  
  <p>So when everything is checked I just run these commands and everything looks great until I check the logs or visit the app:</p>
  
  <pre><code>git commit -am "my commit text"
  git push heroku master
  </code></pre>
  
  <p>I see this in the logs:</p>
  
  <blockquote>
    <p>remote: -----> Compressing...</p>
    
    <p>remote:        Done: 18.3M</p>
    
    <p>remote: -----> Launching...</p>
    
    <p>remote:        Released v12</p>
    
    <p>remote:        <a href="https://my-app.herokuapp.com/" rel="noreferrer">https://my-app.herokuapp.com/</a> deployed to Heroku</p>
    
    <p>remote:</p>
    
    <p>remote: Verifying deploy... done.</p>
    
    <p>To <a href="https://git.heroku.com/my-app.git" rel="noreferrer">https://git.heroku.com/my-app.git</a></p>
    
    <p>3656da0..f1eb078  master -> master</p>
  </blockquote>
  
  <p>So... Any suggestions on what am I doing wrong? Thanks in advance.</p>