我真的很享受OpenShift,直到我尝试在rails应用程序上部署ruby。应用程序正确部署,但当我向网站发送http请求时,我收到标准的ror网页错误消息,此错误消息显示在“rhc tail”中。
[2015-09-12 03:15:10.4835 139977 / 7f5e103ca700 Pool2 / Spawner.h:738]:[App 148847 stdout] [2015-09-12 03:15:10.7690 139977 / 7f5e103ca700 Pool2 / Implementation.cpp:849]:无法为组生成进程/ var / lib / openshift / 55f3cf757628e18647000018 / app-root / runtime / repo #default:错误在启动Web应用程序时发生。 在'void Passenger :: ApplicationPool2 :: Spawner :: handleSpawnErrorResponse(Passenger :: ApplicationPool2 :: Spawner :: NegotiationDetails&)'(Spawner.h:1172) 在'Passenger :: ApplicationPool2 :: ProcessPtr Passenger :: ApplicationPool2 :: Spawner :: negotiateSpawn(Passenger :: ApplicationPool2 :: Spawner :: NegotiationDetails&)'(Spawner.h:1135) 在'虚拟Passenger :: ApplicationPool2 :: ProcessPtr Passenger :: ApplicationPool2 :: DirectSpawner :: spawn(const Passenger :: ApplicationPool2 :: Options&)'(DirectSpawner.h:213) 在'void Passenger :: ApplicationPool2 :: Group :: spawnThreadRealMain(const Passenger :: ApplicationPool2 :: SpawnerPtr&,const Passenger :: ApplicationPool2 :: Options&,unsigned int)'(Implementation.cpp:782) [2015-09-12 03:15:10.7692 139977 / 7f5e10e0c700 agents / HelperAgent / RequestHandler.h:1971]:[客户端20]无法结账会话。启动Web应用程序时发生错误。 错误页面: 您已经激活了机架1.5.2,但您的Gemfile需要机架1.6.4。使用bundle exec可以解决这个问题。 (宝石:: LoadError) /opt/rh/ror40/root/usr/share/gems/gems/bundler-1.3.5/lib/bundler/runtime.rb:33:in
block in setup' /opt/rh/ror40/root/usr/share/gems/gems/bundler-1.3.5/lib/bundler/runtime.rb:19:in
setup' /opt/rh/ror40/root/usr/share/gems/gems/bundler-1.3.5/lib/bundler.rb:120:insetup' /opt/rh/ror40/root/usr/share/gems/gems/bundler-1.3.5/lib/bundler/setup.rb:17:in
' /opt/rh/ruby200/root/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:135:inrequire' /opt/rh/ruby200/root/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:135:in
救援需要' /opt/rh/ruby200/root/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:144:inrequire' /opt/rh/ruby200/root/usr/share/gems/gems/passenger-4.0.18/lib/phusion_passenger/loader_shared_helpers.rb:212:in
run_load_path_setup_code' /opt/rh/ruby200/root/usr/share/gems/gems/passenger-4.0.18/helper-scripts/rack-loader.rb:69:inload_app' /opt/rh/ruby200/root/usr/share/gems/gems/passenger-4.0.18/helper-scripts/rack-loader.rb:96:in
' /opt/rh/ruby200/root/usr/share/gems/gems/passenger-4.0.18/helper-scripts/rack-loader.rb:4:in<module:PhusionPassenger>' /opt/rh/ruby200/root/usr/share/gems/gems/passenger-4.0.18/helper-scripts/rack-loader.rb:3:in
' 101.100.138.151 - - [12 / Sep / 2015:03:15:10 -0400]“GET / HTTP / 1.1”500 682“ - ”“Mozilla / 5.0(X11; Linux x86_64)AppleWebKit / 537.36(KHTML,和Gecko一样) )Chrome / 44.0.2403.155 Safari / 537.36“ 101.100.138.151 - - [12 / Sep / 2015:03:15:11 -0400]“GET /favicon.ico HTTP / 1.1”200 - “http://cv-francismb.rhcloud.com/”“Mozilla / 5.0(X11; Linux x86_64)AppleWebKit /537.36(KHTML,与Gecko一样)Chrome / 44.0.2403.155 Safari / 537.36“
如果您需要任何信息来帮助我解决这个问题,我会更乐意提供它!感谢所有帮助!
答案 0 :(得分:1)
我得到了同样的错误。 case也和我在openshift上的rails项目上部署我的ruby一样。部署屏幕以成功消息结束,并且该屏幕没有错误。但当我试图检查我的网络生产时它给了我错误
网站目前无法使用
然后我尝试了一些谷歌解决方案,最后我通过ssh访问我的网站主机,然后我进入root-app文件夹并运行以下命令
gem install rack
我做了Ctlr + F5
并让我的应用运行 -
Here是原始来源的链接
答案 1 :(得分:1)
我遇到了这个问题。我运行了以下内容:
rhc ssh <myapp> #where '<myapp>' was the name of my rails project
gem install rack
浏览器刷新后,我的应用程序正常启动。
答案 2 :(得分:0)
我必须将它添加到我的Gemfile中:
gem 'rack', '1.5.2'
否则我会遇到机架版本与OpenShift中部署版本不同的问题。