【问题标题】:Invalid command 'PassengerDefaultRuby'无效的命令“PassengerDefaultRuby”
【发布时间】:2013-12-04 15:42:10
【问题描述】:

我正在使用以下版本

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 没有多大帮助。

【问题讨论】:

  • 您是否在 /etc/apache2/sites-enabled/mysite 中进行了任何更改
  • @Bijendra :嗨,是的,我在启用/默认站点中添加了虚拟主机详细信息

标签: ruby-on-rails ruby ruby-on-rails-3 apache2 passenger


【解决方案1】:

您可能在 Apache 中加载了两个 Phusion Passenger 版本,一个旧版本和一个新版本。他们互相冲突。您需要卸载所有可以找到的Passenger痕迹,然后只安装最新版本。

【讨论】:

  • 我能够复制此错误消息,只需确认安装一个 Phusion Passenger:ubuntu@ip-XXX-XX-XX-XXX:/etc/apache2/sites-enabled$ which -a Passenger /home/ubuntu/.rvm/gems/ruby-2.1.1/bin/passenger
【解决方案2】:

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

卸载了加载了 ubuntu 包的模块

a2dismod 乘客

然后重新加载 apache。

【讨论】:

    猜你喜欢
    • 2013-10-06
    • 2016-07-05
    • 2017-10-04
    • 2011-10-15
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多