2017-03-17 4 views
1

Jeder einzelne Pfad, den ich besuche alles, was ich sehe, ist die Heroku Willkommensseite, die nach here über einen 502 Statuscode sendet.Heroku zeigt "leere App", obwohl Procfile läuft

auch nach dieser heroku HTTP routing guide sendet es auch die 502, wenn es ungültige Antworten von der App gesendet werden. Ich habe kürzlich eine andere App auf dem gleichen Boiler installiert, und es gibt nicht viel, was dramatisch anders ist.

Ich denke, die beiden Dinge, die ich denken kann, sind, dass diese App open-uri akzeptiert Benutzereingaben akzeptiert, und dass es HTML in Antworten (sanitized) sendet. Aber auf Heroku sind mir keine Restriktionen dafür bekannt, und ich kann SSH in und open("http://google.com").read in Ordnung.

Hier ist meine procfile:

web: env RACK_ENV=production bundle exec thin start -p $PORT 

Und mein config.ru:

require './server.rb' 
run Server 

auf localhost, verwende ich bundle exec thin start und alles funktioniert.

Ich sehe diese Ausgabe für heroku ps:

=== web (Free): env RACK_ENV=production bundle exec thin start -p $PORT (1) 
web.1: up 2017/03/16 17:53:44 -0700 (~ 19m ago) 

ich zu überprüfen, auch in SSH, dass der App ausgeführt werden kann und die Datenbank eingerichtet ist:

heroku run "irb -r ./server.rb" 
Running irb -r ./server.rb on ⬢ music-sharing... up, run.2985 (Free) 
irb(main):001:0> Audio.count 
=> 0 

In heroku logs --tail Ich sehe diese Art von Sache nach einer Anfrage:

2017-03-17T01: 45: 44.022727 + 00: 00 heroku [Router]: at = Info-Code = H81 desc = "Leere App" methode = GET Pfad = "/ favicon.ico" host = musik-sharing.herokuapp.com request_id = 2e41fca8-0913-4a09-8635-2a26586c3234 fwd = "73.170.238.232" dyno = connect = service = status = 502 Bytes = protocol = https

ich auch sorgte dafür, dass der App auf dem Stammverzeichnis ist:

heroku run bash 
Running bash on ⬢ music-sharing... up, run.5955 (Free) 
~ $ ls 
bin  db_config.rb Procfile server.rb 
config.ru  Gemfile Rakefile tmp 
crud_generator.rb Gemfile.lock README.md vendor 
db   models.rb  server_push.rb ws.rb 
~ $ 

Antwort

0

Diese Antwort auf etwas hängt ich nicht in der Frage enthalten, so dass es ein wenig ist unfair, aber irgendwo hier war das Problem:

Ich war mit diesem Skript bereitstellen:

git subtree push --prefix server heroku master 

Das ist, weil mein Repo hat server/ und client/ Ordner (zwei separate Anwendungen)

Aus irgendeinem Grund dies nicht funktioniert hat.

Ich ging in den Ordner server/, machte einen neuen (temporären, deploy-only) Git-Repo in dort, legte alles fest, wies es auf die Heroku-Fernbedienung, und erzwang gedrückt.

Wenn ich herausfinden, mehr Informationen darüber, warum die --prefix Push nicht funktionierte (es funktionierte auf meiner anderen App), werde ich es hier hinzufügen.


aktualisieren

bekam das Skript arbeiten von zu dieser Modifikation:

git push heroku `git subtree split --prefix server master`:master --force 
Verwandte Themen