我有一个成熟的Rails 3.2.2应用程序,我想在Heroku上的JRuby上部署,原因我不会进入。尝试通过Maven配置引导JRuby并尝试将Rails应用程序捆绑后失败后,我使用了基于CarlHörbergJRuby buildpack for Heroku的自定义Heroku构建包,我认为我已经取得了更大的成功用。我的自定义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和/或在app config和Procfile中禁用多线程,但我得到的结果大致相同。
提前致谢...