我的Rails应用程序不起作用,因为乘客不工作

时间:2017-09-21 09:53:14

标签: ruby-on-rails apache passenger

在服务器中,我在安装后安装了rails,rvm,apache2和passenger我将rails应用程序拖放到服务器上,显示this error

在apache2 / error / log中,它显示了bundler加载错误

App 9573 stdout:
[ 2017-09-21 09:38:10.4331 9419/7f8c7920d700 age/Cor/App/Implementation.cpp:304 ]: Could not spawn process for application /var/www/html/vpn_check: An error occurred while starting up the preloader.
  Error ID: 9c91492c
  Error details saved to: /tmp/passenger-error-lZdumg.html
  Message from application: cannot load such file -- bundler/setup (LoadError)
  /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:430:in `activate_gem'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:297:in `block in run_load_path_setup_code'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:435:in `running_bundler'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:296:in `run_load_path_setup_code'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:100:in `preload_app'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:156:in `<module:App>'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'

我不确定为什么我会收到此错误。有谁可以帮助我。

由于

2 个答案:

答案 0 :(得分:0)

您必须在apache配置中配置rvm ruby​​版本。 在您的情况下,Passenger使用/ usr / lib / ruby​​中的ruby版本,而不是rvm ruby​​版本。

如果您只使用一个rvm gemset,则必须在Passenger apache模块(apache / mods-available / passenger.conf)中配置ruby版本和ruby gemset:

PassengerRoot /home/user/.rvm/gems/ruby-version@gemset/gems/passenger-5.1.2
PassengerDefaultRuby /home/user/.rvm/gems/ruby-version@gemset/wrappers/ruby

如果有多个应用程序运行不同的rvm配置,则必须在vhost文件中指定ruby版本。

例如:

<Location /appli1>
  PassengerRuby /home/user/.rvm/gems/ruby-2.1@app1/wrappers/ruby
  RackEnv production
  RackBaseURI /appli1
  Options -MultiViews
</Location>
<Location /appli2>
  PassengerRuby /home/user/.rvm/gems/ruby-2.2@app2/wrappers/ruby
  RackEnv production
  RackBaseURI /appli2
  Options -MultiViews
</Location>

答案 1 :(得分:0)

这没有完成,所以我按照订单重新安装了乘客及其依赖项。请参考此link来安装passenger及其依赖项。

谢谢大家的帮助。