【问题标题】:Passenger or.. ? Exception RuntimeError in PhusionPassenger::ClassicRails::ApplicationSpawner乘客还是..? PhusionPassenger::ClassicRails::ApplicationSpawner 中的异常 RuntimeError
【发布时间】:2016-09-08 14:47:00
【问题描述】:

昨天我需要在 Debian 6 上重新启动生产服务器,其正常运行时间超过 3 年,并在其上配置了第 3 方的计费系统。由于“原因”,我们没有得到那家公司的支持,也不会得到任何支持。

据我了解,自从进行配置以来,服务器从未重新启动过。 从那以后,成功登录后,计费的 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 目录。

所以。我有麻烦了。需要帮助。

【问题讨论】:

  • 我在 apache enabled-mods 中找到了passenger.conf,当我在试图启动它,几分钟后什么也没有发生。 $* 是什么意思?

标签: ruby-on-rails ruby rubygems debian passenger


【解决方案1】:

一些非常基本的东西:

  1. 看起来rvm 被用于安装 ruby​​。 (你可以通过堆栈跟踪路径中的rvm 来判断)
  2. Bundler 失败并显示错误消息 Bundler couldn't find some gems. Did you run 'bundle install'?。你有运行捆绑安装吗?您可能需要从 /opt/hydra/rails/ 目录执行此操作,以便 rvm 设置必要的环境变量,以便捆绑程序可以找到 hydra 的 Gemfile。
  3. Rails 服务器是否正在使用bundle exec 启动?这将确保 bundler 可以在 rails 服务器启动时包含 Gemfile 中的 gem。
  4. 您可能没有使用正确的 gemset。从堆栈跟踪来看,似乎正在使用global。您是否有任何方法可以确定这是否是要使用的正确宝石?你可以运行:

    rvm gemset list
    

    显示机器上的宝石。也许有一个叫hydra 或类似的东西?您可以使用以下命令选择不同的 gemset:

    rvm gemset use <gemset name>
    

抱歉,我无法提供更多帮助。这些是您最终没有 Ruby 或没有 gems 的方法,以及可能的修复方法。除此之外,很难从提供的信息中分辨出来。

希望有帮助!

【讨论】:

  • 我找不到带有 dpkg 的 rvm 或其他。好像没有安装。我不知道它是如何安装的,检查了 root 的历史记录,没有 rvm。
  • 在 /opt/hydra/rails/.rvm/bin/rvm 中找到了一些可执行的 rvm,但它显示“找不到 rvm 安装!”。这个 rvm 脚本中有几行是路径检查所在。在检查行中添加了路径。 “which rvm”显示正确的 rvm 可执行路径。但脚本仍然显示“找不到 rvm 安装!”
  • 如果您找到了 rvm 的位置,您可以使用 .rvmrc 文件中的行 rvm_path=&lt;path to rvm&gt; 来帮助脚本找到它,如下所述:rvm.io/workflow/rvmrc。值得检查您的主目录或/etc/rvmrc 或项目目录中的.rvmrc 文件是否已经设置?
  • 我不能用 rvm 做任何事情,它告诉我“找不到 rvm 安装!”。现在试着用它做点什么。
  • .rvmrc 放在“/opt/hydra/rails/.rvmrc”,复制到我的~,现在可以了。嗯...接下来是什么...)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-11
  • 1970-01-01
  • 2010-11-08
  • 2011-06-02
  • 1970-01-01
  • 2019-08-28
  • 2015-09-30
相关资源
最近更新 更多