Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

399
Visualizações
Heroku Node app keeps crashing

I have an Express app hosted on Heroku. Locally it runs just fine, but keeps crashing on Heroku. Every time I go to it I get the 'Application Error' page.

application error page

I double checked all environment variables and they seem ok.

The Heroku logs don't exactly offer much help:

2017-04-16T23:02:49.001768+00:00 heroku[web.1]: State changed from crashed 
to starting
2017-04-16T23:02:52.072906+00:00 heroku[web.1]: Starting process with 
command `npm run start`
2017-04-16T23:02:56.042611+00:00 app[web.1]: 
2017-04-16T23:02:56.042628+00:00 app[web.1]: > my-app@0.0.1 start /app
2017-04-16T23:02:56.042629+00:00 app[web.1]: > node bin/app
2017-04-16T23:02:56.042630+00:00 app[web.1]: 
2017-04-16T23:02:57.200912+00:00 heroku[web.1]: State changed from starting 
to crashed
2017-04-16T23:02:57.201454+00:00 heroku[web.1]: State changed from crashed 
to starting
2017-04-16T23:02:57.192198+00:00 heroku[web.1]: Process exited with status 0
2017-04-16T23:03:00.981528+00:00 heroku[web.1]: Starting process with 
command `npm run start`
2017-04-16T23:03:04.312475+00:00 app[web.1]: 
2017-04-16T23:03:04.312489+00:00 app[web.1]: > my-app@0.0.1 start /app
2017-04-16T23:03:04.312490+00:00 app[web.1]: > node bin/app
2017-04-16T23:03:04.312491+00:00 app[web.1]: 
2017-04-16T23:03:06.093211+00:00 heroku[web.1]: Process exited with status 0
2017-04-16T23:03:06.112842+00:00 heroku[web.1]: State changed from starting 
to crashed

So then I tried starting the app manually:

$ heroku run bash
...
$ npm run start

I got no errors. I'm using the pm2 process manager, so I checked it to see if the app is running and it seems like it is:

$ node_modules/.bin/pm2 list
...

pm2 output

But then when I go to open my app I get the same 'Application error' page as before.

'heroku restart' doesn't help. It just crashes again every time.

The only difference between my local environment and Heroku (as far as I can tell at least...) is that locally I have a file from which I'm reading a RSA private key, and on Heroku that key is read from the environment.

Edit: As requested, here's my Procfile:

web: npm run start

Any ideas?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Your app need to start listening to the port defined in the env. For example if you have an expressjs app it should look something like this:

const express = require('express')
const app = express()
const port = process.env.PORT || 3000

app.get('/', (req, res) => res.send("Hello world"))

app.listen(port, () => console.log(`Example app listening on port ${port}!`))

If the app does not bind to the correct port, heroku is going to consider the app unhealthy and will terminate it.

You need to see this line in the logs, which indicates that heroku recognized the app as healthy:

State changed from starting to up

Keep in mind that this port thing is a special requirement for the web process. The other processes in your app does not have such a requirement.

over 4 years ago · Santiago Trujillo Relatório

0

Try 2 things: Change your procfile:

web: node start.js

Then make sure that your web process it running by scaling it up:

heroku ps:scale web=1

On your computer in a terminal window run this command in your project:

heroku local web

It simulates how Heroku runs your app and should give you information of what is happening.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda