无效的命令'PassengerDefaultRuby'

Sen*_*hil 4 ruby ruby-on-rails apache2 passenger ruby-on-rails-3

我正在使用以下版本

Phusion Passenger version 4.0.25

ruby 2.0.0p247 (2013-06-27 revision 41674) [i686-linux]

Server version: Apache/2.2.22 (Ubuntu)
Server built:   Jul 12 2013 13:38:21
Run Code Online (Sandbox Code Playgroud)

我按照apache.conf中的乘客指示粘贴这三行

LoadModule passenger_module /usr/local/rvm/gems/ruby-2.0.0-p247/gems/passenger-4.0.25/buildout/apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/ruby-2.0.0-p247/gems/passenger-4.0.25
PassengerDefaultRuby /usr/local/rvm/wrappers/ruby-2.0.0-p247/ruby
Run Code Online (Sandbox Code Playgroud)

这是我安装的红宝石的详细信息

rvm rubies

   ruby-1.9.3-p448 [ i686 ]
=* ruby-2.0.0-p247 [ i686 ]
Run Code Online (Sandbox Code Playgroud)

如果我重新启动Apache,我会得到以下错误.

[Wed Nov 20 15:04:13 2013] [warn] module passenger_module is already loaded, skipping
Syntax error on line 242 of /etc/apache2/apache2.conf:
Invalid command 'PassengerDefaultRuby', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!
Run Code Online (Sandbox Code Playgroud)

我做了很多谷歌搜索,但发现只有一个链接没有多大帮助.

小智 5

我在Ubuntu 10.04服务器上遇到了同样的问题.就我而言,就像洪力说的那样,我装了两个乘客版本.一个是来自Ubuntu存储库的libapache2-mod-passenger包,另一个是使用RVM安装的.为了使它与通过RVM安装的那个一起工作,我通过运行卸载了加载了ubuntu包的模块

a2dismod乘客

然后重新加载apache.