繁体   English   中英

Ruby on Rails,Passenger和Apache

[英]Ruby on Rails, Passenger and Apache

我已经着手进行了我认为相对容易的任务,但绝非易事。 我是Ruby on Rails的新手,我试图建立一个AWS托管的Ubuntu 14.04服务器,该服务器使用Phusion Passenger 5.0.7托管Rails和Apache。 我创建了一个新应用,并将我的Apache配置文件设置为指向该应用的公共目录。 当我加载服务器的IP地址时,乘客给我以下错误:

cannot load such file -- bundler/setup (LoadError)
  /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
  /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:399:in `activate_gem'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:277:in `block in run_load_path_setup_code'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:404:in `running_bundler'
  /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:276:in `run_load_path_setup_code'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:99:in `preload_app'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:153:in `<module:App>'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>'
  /usr/share/passenger/helper-scripts/rack-preloader.rb:28:in `<main>'

我在运行“捆绑安装”时没有任何麻烦,因此我确定捆绑器可用。 这是否是权限错误或配置错误? 我还注意到旅客报告了RUBY_VERSION = 1.9.3,但是当我键入ruby -v时,安装的版本是ruby 2.2.2p95。 我还注意到,在错误消息中,Passenger指向/usr/lib/ruby/1.9.1的所有内容。

我的Apache配置文件如下所示:

<VirtualHost *:80>
#    ServerName example.com
#    ServerAlias www.example.com
#    ServerAdmin webmaster@localhost
    PassengerLoadShellEnvvars off
#    PassengerRuby /home/ubuntu/.rvm/rubies/ruby-2.2.2/bin/ruby # I was trying to use the installed version of ruby since the default is showing 1.9.3 instead of the installed 2.2.2
    DocumentRoot /home/ubuntu/railsapps/railsest/public
    RailsEnv development
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    <Directory "/home/ubuntu/railsapps/railsest">
        Options FollowSymLinks
        Require all granted
    </Directory>
</VirtualHost>

重新编译Passenger并将以下行添加到我的Apache配置文件中之后,我能够获取默认的“ Welcome aboard”页面来加载。

   LoadModule passenger_module /home/ubuntu/.rvm/gems/ruby-2.2.2/gems/passenger-5.0.7/buildout/apache2/mod_passenger.so
   <IfModule mod_passenger.c>
     PassengerRoot /home/ubuntu/.rvm/gems/ruby-2.2.2/gems/passenger-5.0.7
     PassengerDefaultRuby /home/ubuntu/.rvm/gems/ruby-2.2.2/wrappers/ruby
   </IfModule>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM