我遇到了服务器错误,它告诉我它无法检测到 rake 等重要功能。研究表明,Phusion Passenger 和 RVM 之间存在沟通错误。RVM建议PassengerDefaultRuby
在服务器的全局配置文件中设置,在我的例子中是/etc/apache2/apache2.conf
。当我插入此行时:
PassengerDefaultRuby /usr/local/rvm/wrappers/ruby-1.9.3/ruby
重新启动 Apache 时出现此错误:
Syntax error on line 39 of /etc/apache2/apache2.conf:
Invalid command 'PassengerDefaultRuby', perhaps misspelled or defined by a module not included in the server configuration
也许我把这段代码放在了错误的文件中?或者可能是其他问题?如能提供任何指导,我将不胜感激。
答案1
您需要检查是否已mod_passenger
加载模块:
# apachectl -M | grep passenger
您引用的选项包含在版本 4.0 候选发布版本 6:
4.0 RC 5 和 RC 6 中的变化
RC 5 和 RC 6 中最重要的变化如下:
Apache 的默认配置片段已更改!它现在必须包含 PassengerDefaultRuby 选项。安装程序已更新以输出此选项。PassengerRuby 选项仍然存在,但它仅用于在不同上下文中配置不同的 Ruby 解释器。请参阅手册了解更多信息。
根据安装方法,您可能拥有早期版本。