我正在使用以下版本
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
我按照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
以下是我安装的ruby的详细信息
rvm rubies
ruby-1.9.3-p448 [ i686 ]
=* ruby-2.0.0-p247 [ i686 ]
如果我重新启动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!
我完成了很多谷歌搜索,但发现only one link没有多大帮助。
答案 0 :(得分:5)
我在Ubuntu 10.04服务器上遇到了同样的问题。就我而言,就像洪力说的那样,我装了两个乘客版本。一个是来自Ubuntu存储库的libapache2-mod-passenger包,另一个是使用RVM安装的。为了使它与通过RVM安装的一个一起工作,我通过运行
来卸载加载了ubuntu包的模块a2dismod乘客
然后重新加载apache。
答案 1 :(得分:2)
您可能在Apache中加载了两个Phusion Passenger版本,一个旧版本和一个较新版本。他们彼此冲突。您需要卸载可以找到的所有Passenger痕迹,然后只安装最新版本。