乘客还是..? PhusionPassenger::ClassicRails::ApplicationSpawner 中的异常 RuntimeError
Passenger or.. ? Exception RuntimeError in PhusionPassenger::ClassicRails::ApplicationSpawner
昨天我需要在 Debian 6 上重启生产服务器,正常运行时间超过 3 年,并且上面有第 3 方配置的计费系统。我们没有得到那家公司的支持,也不会得到任何支持,因为 "reasons".
据我了解,自配置完成以来,服务器从未重新启动过。
此后,计费的 Web 界面在成功登录后显示 500 Internal Server Error。
我不知道该怎么办,检查了所有 oracle、计费系统和 apache 日志。现在我认为我定位了问题,apache 日志说:
[Thu May 12 13:32:18 2016] [notice] Apache/2.2.22 (Debian) Phusion_Passenger/3.0.11 configured -- resuming normal operations
[ pid=3030 thr=12538160 file=utils.rb:176 time=2016-05-12 16:51:49.463 ]: *** Exception RuntimeError in PhusionPassenger::ClassicRails::ApplicationSpawner (Bundler couldn't find some gems.Did you run `bundle install`?) (process 3030, thread #<Thread:0x17ea260>):
from /opt/hydra/rails/arm_isp_old/releases/20120928113940/config/preinitializer.rb:18
from /opt/hydra/rails/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from /opt/hydra/rails/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/classic_rails/application_spawner.rb:220:in `preload_application'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/classic_rails/application_spawner.rb:181:in `initialize_server'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/utils.rb:572:in `report_app_init_status'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/classic_rails/application_spawner.rb:174:in `initialize_server'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb:204:in `start_synchronously'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb:180:in `start'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/classic_rails/application_spawner.rb:149:in `start'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb:219:in `spawn_rails_application'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb:214:in `spawn_rails_application'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server_collection.rb:82:in `synchronize'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb:213:in `spawn_rails_application'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb:132:in `spawn_application'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb:357:in `__send__'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/helper-scripts/passenger-spawn-server:99
有趣的事情:
- 我根本找不到系统中安装的 gems 或 ruby。当我尝试
安装,apt-get 显示需要升级的包太多,所以
我害怕做得更糟。
- 环境。重新启动后 PATH 丢失,所以我无法调用基本实用程序,因为其中没有 /usr/bin、/usr/sbin、/bin、/sbin 目录。
所以。我有麻烦了。需要帮助。
一些非常基本的东西:
- 看起来 rvm 用于安装 ruby。 (您可以通过堆栈跟踪路径中的
rvm
判断)
- Bundler 失败并显示错误消息
Bundler couldn't find some gems. Did you run 'bundle install'?
。你 运行 捆绑安装了吗?您可能需要从 /opt/hydra/rails/
目录执行此操作,以便 rvm 设置必要的环境变量,以便 bundler 可以找到 hydra
的 Gemfile。
- 是否正在使用
bundle exec
启动 Rails 服务器?这将确保捆绑器可以在 rails 服务器启动时包含 Gemfile 中的 gem。
您可能没有使用正确的 gemset。从堆栈跟踪来看,似乎正在使用 global
。您有什么办法可以确定这是否是要使用的正确宝石集?你可以 运行:
rvm gemset list
显示机器上的 gemsets。也许有一个叫做 hydra
之类的东西?您可以 select 使用不同的 gemset:
rvm gemset use <gemset name>
抱歉,我无法提供更多帮助。这些是您可以在没有 Ruby 或没有宝石的情况下结束的方法,以及可能的修复方法。除此之外,很难从提供的信息中分辨出来。
希望对您有所帮助!
昨天我需要在 Debian 6 上重启生产服务器,正常运行时间超过 3 年,并且上面有第 3 方配置的计费系统。我们没有得到那家公司的支持,也不会得到任何支持,因为 "reasons".
据我了解,自配置完成以来,服务器从未重新启动过。
此后,计费的 Web 界面在成功登录后显示 500 Internal Server Error。
我不知道该怎么办,检查了所有 oracle、计费系统和 apache 日志。现在我认为我定位了问题,apache 日志说:
[Thu May 12 13:32:18 2016] [notice] Apache/2.2.22 (Debian) Phusion_Passenger/3.0.11 configured -- resuming normal operations
[ pid=3030 thr=12538160 file=utils.rb:176 time=2016-05-12 16:51:49.463 ]: *** Exception RuntimeError in PhusionPassenger::ClassicRails::ApplicationSpawner (Bundler couldn't find some gems.Did you run `bundle install`?) (process 3030, thread #<Thread:0x17ea260>):
from /opt/hydra/rails/arm_isp_old/releases/20120928113940/config/preinitializer.rb:18
from /opt/hydra/rails/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
from /opt/hydra/rails/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/classic_rails/application_spawner.rb:220:in `preload_application'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/classic_rails/application_spawner.rb:181:in `initialize_server'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/utils.rb:572:in `report_app_init_status'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/classic_rails/application_spawner.rb:174:in `initialize_server'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb:204:in `start_synchronously'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb:180:in `start'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/classic_rails/application_spawner.rb:149:in `start'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb:219:in `spawn_rails_application'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb:214:in `spawn_rails_application'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server_collection.rb:82:in `synchronize'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb:213:in `spawn_rails_application'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb:132:in `spawn_application'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb:357:in `__send__'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
from /opt/hydra/rails/.rvm/gems/ree-1.8.7-2011.03@global/gems/passenger-3.0.11/helper-scripts/passenger-spawn-server:99
有趣的事情:
- 我根本找不到系统中安装的 gems 或 ruby。当我尝试
安装,apt-get 显示需要升级的包太多,所以
我害怕做得更糟。 - 环境。重新启动后 PATH 丢失,所以我无法调用基本实用程序,因为其中没有 /usr/bin、/usr/sbin、/bin、/sbin 目录。
所以。我有麻烦了。需要帮助。
一些非常基本的东西:
- 看起来 rvm 用于安装 ruby。 (您可以通过堆栈跟踪路径中的
rvm
判断) - Bundler 失败并显示错误消息
Bundler couldn't find some gems. Did you run 'bundle install'?
。你 运行 捆绑安装了吗?您可能需要从/opt/hydra/rails/
目录执行此操作,以便 rvm 设置必要的环境变量,以便 bundler 可以找到hydra
的 Gemfile。 - 是否正在使用
bundle exec
启动 Rails 服务器?这将确保捆绑器可以在 rails 服务器启动时包含 Gemfile 中的 gem。 您可能没有使用正确的 gemset。从堆栈跟踪来看,似乎正在使用
global
。您有什么办法可以确定这是否是要使用的正确宝石集?你可以 运行:rvm gemset list
显示机器上的 gemsets。也许有一个叫做
hydra
之类的东西?您可以 select 使用不同的 gemset:rvm gemset use <gemset name>
抱歉,我无法提供更多帮助。这些是您可以在没有 Ruby 或没有宝石的情况下结束的方法,以及可能的修复方法。除此之外,很难从提供的信息中分辨出来。
希望对您有所帮助!