2017-03-17 110 views
1

我看到的任何單一路徑都是Heroku歡迎頁面,根據here發送502狀態碼。即使Procfile正在運行,Heroku顯示「空白應用程序」

也根據此heroku HTTP routing guide它也發送502,如果有無效的應用程序發送的響應。我最近部署了另一個基於同一個鍋爐的應用程序,而且這個應用程序沒有太大的區別。

我想我可以想到的兩件事是,這個應用程序使用open-uri接受用戶輸入,並且它發送(消毒)html的響應。但我不知道這個在Heroku上的恢復,我可以SSH和open("http://google.com").read罰款。

這裏是我的procfile:

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

而且我config.ru

require './server.rb' 
run Server 

在本地主機上,我使用bundle exec thin start,一切工作正常。

我看到這個輸出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) 

我也SSH方式來檢查應用程序可以運行,數據庫設置:

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 

heroku logs --tail我看到這種做出請求後的東西:

2017-03-17T01:45:44.022727 + 00:00 heroku [router]:at = info code = H81 desc =「空白應用」方法= GET路徑=「/ favicon.ico」host = music-sharing.herokuapp.com request_id = 2e41fca8-0913-4a09-8635-2a26586c3234 fwd =「73.170.238.232」dyno = connect = service =狀態= 502字節=協議= HTTPS

我也取得了一定的應用程序是在根目錄:

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 
~ $ 

回答

0

這個答案取決於東西,我沒有在這個問題包括:所以這是一個有點不公平,但在這裏的任何地方是這個問題:

我正在使用此腳本部署:

git subtree push --prefix server heroku master 

那是因爲我的回購有server/client/文件夾(兩個獨立的應用程序)

出於某種原因,並沒有工作。

我進入了server/文件夾,在那裏做了一個新的(臨時的,部署專用的)git倉庫,提交了所有內容,將它指向了heroku遠程倉庫,並強制推送。

如果我想知道爲什麼--prefix推送不起作用(它正在處理我的其他應用程序)的更多信息,我會在此處添加它。


更新

拿到劇本修改到這個工作:

git push heroku `git subtree split --prefix server master`:master --force 
相關問題