Heroku Error H14 (No web processes running)

2019-03-22 15:48发布

问题:

Pretty sure some people encountered this problem before.

Followed all the instructions to setup node and npm. When pushing to heroku there were no errors. But when I open the app, it shows "Application Error"

heroku ps

returns

Process  State      Command       
-------  ---------  ------------  
main.1   up for 1m  node main.js

while

heroku logs

returns

Error H14 (No web processes running) -> GET mewtwo.herokuapp.com/ dyno= queue= wait= service= status=503 bytes=

I tried restarting the app with heroku restart but still get the same error. Google around and there were no other solution other than heroku restart. Anyone tried other methods ?


Answer: (I put it here since my rep is too low to post answer yet)

Ok finally figured it out myself.

Apparently in the Procfile, I declared

main: node main.js

but Heroku uses

web: node main.js

I thought the naming can be anything you want but it is actually strict, you need to use web for it to work (heroku did not emphasize this - be wary) at least for now, until I figure out why this strictness and if I can change the name.

回答1:

The name of your web process must be web, and this is the process that Heroku will always scale to '1' on initial deploy.

Other services in the Procfile can be called what you want, but you need to scale them initially (so you can have dev only processes in there if you want).

More information here: http://neilmiddleton.com/the-procfile-is-your-friend/ (the cached version: https://web.archive.org/web/20130926005616/http://www.neilmiddleton.com/the-procfile-is-your-friend)



回答2:

I had the same problem, but for me it was because I needed to run heroku ps:scale web=1