1

我有一个成熟的 Rails 3.2.2 应用程序,我想将它部署在 Heroku 上的 JRuby 之上,原因我不会深入探讨。在尝试通过 Maven 配置引导 JRuby 并尝试让 Rails 应用程序捆绑失败后,我求助于使用基于 Carl Hörberg 的Heroku JRuby buildpack的自定义 Heroku buildpack ,我认为我在这方面取得了更大的成功. 我的自定义 buildpack 和 Carl 的唯一区别是我不会尝试在 slug 编译期间预编译资产,因为我更愿意在本地执行此操作。

对 Heroku 的推动效果很好。Heroku 接收推送,获取自定义 buildpack,安装所有捆绑的 gem,启动等,没有问题、警告或错误,但是当我尝试在浏览器中解析部署的应用程序时,我立即收到 500 错误(这是在 MRI 1.9.2 上运行良好的应用程序)。不幸的是,Heroku 日志并没有那么有用:

2012-07-24T01:39:27+00:00 heroku[slugc]: Slug compilation finished
2012-07-24T01:39:32+00:00 heroku[web.1]: Starting process with command `bin/trinidad --threadsafe --rackup -p 9108 -e production`
2012-07-24T01:39:43+00:00 app[web.1]: INFO: Initializing ProtocolHandler ["http-bio-9108"]
2012-07-24T01:39:43+00:00 app[web.1]: Jul 24, 2012 1:39:43 AM org.apache.coyote.AbstractProtocol init
2012-07-24T01:39:43+00:00 app[web.1]: Jul 24, 2012 1:39:43 AM org.apache.catalina.core.StandardService startInternal
2012-07-24T01:39:43+00:00 app[web.1]: INFO: Starting service Tomcat
2012-07-24T01:39:43+00:00 app[web.1]: Jul 24, 2012 1:39:43 AM org.apache.catalina.core.StandardEngine startInternal
2012-07-24T01:39:43+00:00 app[web.1]: INFO: Starting Servlet Engine: Apache Tomcat/7.0.28
2012-07-24T01:39:43+00:00 app[web.1]: 2012-07-24 01:39:43 INFO: No global web.xml found
2012-07-24T01:39:43+00:00 heroku[web.1]: State changed from starting to up
2012-07-24T01:39:44+00:00 app[web.1]: 2012-07-24 01:39:44 INFO: INFO: jruby 1.7.0.preview1 (ruby-1.9.3-p203) (2012-05-19 00c8c98) (OpenJDK 64-Bit Server VM 1.6.0_20) [linux-amd64-java]
2012-07-24T01:39:44+00:00 app[web.1]: 2012-07-24 01:39:44 INFO: INFO: using a shared (threadsafe!) runtime
2012-07-24T01:39:47+00:00 app[web.1]: 2012-07-24 01:39:47 SEVERE: ERROR: unable to create shared application instance
2012-07-24T01:39:47+00:00 app[web.1]: 2012-07-24 01:39:47 SEVERE: Error: application initialization failed
2012-07-24T01:39:47+00:00 app[web.1]: 2012-07-24 01:39:47 INFO: Starting ProtocolHandler ["http-bio-9108"]
2012-07-24T01:39:49+00:00 heroku[router]: GET agile-crag-7590.herokuapp.com/ dyno=web.1 queue=0 wait=0ms service=512ms status=500 bytes=643
2012-07-24T01:39:49+00:00 heroku[router]: GET agile-crag-7590.herokuapp.com/favicon.ico dyno=web.1 queue=0 wait=0ms service=23ms status=500 bytes=643

有没有人知道什么可能是错的?我尝试将 buildpack 中使用的 JRuby 版本更改为 1.6.7 和/或在应用程序配置和 Procfile 中禁用多线程,但得到的结果大致相同。

提前致谢...

4

0 回答 0