将sinatra app部署到heroku的问题

时间:2016-10-14 14:40:49

标签: ruby heroku sinatra

我刚刚尝试将基本的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的新手,所以我真的不知道为什么会发生这种情况,任何帮助我指向正确方向的人都会受到赞赏。

2 个答案:

答案 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。