2017-03-17 124 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 
相关问题