我正在尝试使用以下命令在 Apache2 服务器上安装 Passenger (mod_rails)
1. gem install passenger
2. passenger-install-apache2-module
乘客安装完毕,我将以下行添加到我的配置文件中
LoadModule airline_module /home/ec2-user/.rvm/gems/ruby-1.9.2-p290/gems/pass enger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /home/ec2-user/.rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.11
PassengerRuby /home/ec2-user/.rvm/wrappers/ruby-1.9.2-p290/ruby
一旦我完成所有这些步骤并开始访问Apache2 服务器。
我收到以下乘客错误:
[错误] *** Passenger 无法初始化,原因是:无法启动 Phusion Passenger 监视程序,因为其可执行文件 (/usr/lib/phusion-passenger/agents/PassengerWatchdog) 不存在。这可能意味着您的 Phusion Passenger 安装已损坏或不完整,或者您的“PassengerRoot”指令设置为错误值。请重新安装 Phusion Passenger 或修复您的“PassengerRoot”指令(以适用者为准)。
出现此错误后,我re-installed Passenger
再次执行了这些步骤,但问题仍然存在。
感谢您帮助解决该问题。
答案1
首先,让我们通过运行以下命令确保系统中存在 Watchdog:find / -name PassengerWatchdog
然后,如果这是 RVM 问题,您可以尝试将 Passenger 的根目录符号链接到 apache 提到的位置:
ln -s /home/ec2-user/.rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.11 /usr/lib/phusion-passenger
另一方面,你确定运行passenger-install-apache2-module
没有引发任何错误/警告吗?将其输出包括到问题中可能会有所帮助
答案2
我在 Ubuntu 和 CentOS 中使用相同的配置。系统上是否有现有的 Passenger 安装会造成干扰。如果是,请将其删除并重新启动 Apache。