我刚刚尝试将基本的sinatra应用程序部署到heroku,每次我尝试通过heroku访问应用程序时,我会在heroku日志中收到以下错误消息
2016-10-14T14:34:12.243266 + 00:00 heroku [router]:at = error code = H10 desc =“App crashed”method = GET path =“/”host = sleepy-fjord-82689.herokuapp .com request_id = 4e85cc9f-a2e2-4dc4-bbb6-8daa9de6778b fwd =“82.5.195.102”dyno = connect = service = status = 503 bytes =
2016-10-14T14:34:13.108228 + 00:00 heroku [router]:at = error code = H10 desc =“App crashed”method = GET path =“/ favicon.ico”host = sleepy-fjord- 82689.herokuapp.com request_id = c173f495-e2f9-4119-8e45-790e2f55fc6e fwd =“82.5.195.102”dyno = connect = service = status = 503 bytes =
我是heroku的新手,所以我真的不知道为什么会发生这种情况,任何帮助我指向正确方向的人都会受到赞赏。
答案 0 :(得分:0)
导航到根目录('/')时,您的应用程序崩溃了。首先确保应用程序在本地计算机上运行,然后按照rack app guide进行Heroku操作。 Sinatra有一个部分。如果这不起作用,请确保您可以正确部署Hello World应用程序。
答案 1 :(得分:0)
你能在这里发布你的Procfile文件和你的config.ru吗?
如果要检查Procfile是否正常工作,可以使用foreman
gem在本地进行检查。基本上你需要在Gemfile中将foreman添加到你的开发组中,你可以用这个内容创建一个Procfile文件:
web: bundle exec rackup -p $PORT
使用命令foreman start
启动应用程序。
另外要在日志中显示错误的完整回溯,请考虑在Gemfile中添加gem rails_12factor
,并确保在生产组中也可以使用。
这应该允许您至少看到错误的完整回溯。希望这对你有所帮助。
注意:Sinatra在更改时不会在本地重新加载应用程序。如果你想要,我建议你使用开发组中的rerun
gem和rb-fsevent
gems,以及开发环境的不同Procfile。
示例:Procfile.dev
web: rerun -- bundle exec rackup -p $PORT
并使用foreman start -f Procfile.dev
在本地运行它。这将允许您更改代码并查看更改,而无需每次手动重新启动服务器。
希望这可以帮助你至少找到erorr。