我的服务器是:
Server version: Apache/2.2.11 (Ubuntu)
Server built: Aug 16 2010 17:44:11
我的 ruby 版本ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-linux]
。
passenger 3.0.7
我已通过 RubyGems安装。我已运行passenger-install-apache2-module
,一切正常。我已修改配置(加载模块、编辑虚拟主机等)并重新启动 Apache。模块加载正常(apache 没有抱怨)。但 Passenger 显然无法正常工作:
sudo passenger-status
ERROR: Phusion Passenger doesn't seem to be running.
我怎样才能让它工作?
编辑1:
/etc/apache2/mods-enabled/passenger.load
LoadModule passenger_module /usr/lib/ruby/gems/1.9.1/gems/passenger-3.0.7/ext/apache2/mod_passenger.so
乘客根:
passenger-config --root
/usr/lib/ruby/gems/1.9.1/gems/passenger-3.0.7
Apache VirtualHost 子 URI 配置/etc/apache2/sites-enabled/railsapps:
<VirtualHost <IP ADDRESS>:80>
ServerAdmin webmaster@localhost
ServerName my.server.name
PassengerRoot /usr/lib/ruby/gems/1.9.1/gems/passenger-3.0.7
PassengerRuby /usr/bin/ruby
RailsEnv development
DocumentRoot /www/vhosts/railsapps
<Directory /www/vhosts/railsapps>
Options FollowSymlinks -MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
RailsBaseURI /siteA
<Directory /www/vhosts/railsapps/siteA>
Options -MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
RailsBaseURI /siteB
<Directory /www/vhosts/railsapps/siteB>
AllowOverride All
Options -MultiViews
Order allow,deny
Allow from all
</Directory>
LogLevel info
ErrorLog /var/log/apache2/railsapps_error.log
CustomLog /var/log/apache2/railsapps_access.log combined
</VirtualHost>
当然,如“用户指南 apache.html”siteA
和分别siteB
是符号链接siteA/public
和siteB/public
绝对路径。
编辑2:
日志中没有与乘客相关的内容。路径中的目录的权限也很好(读取和可执行)。即使是一些配置错误或权限问题,乘客不是应该正在运行吗?我的意思是sudo passenger-status
至少应该输出--- general information ---
。当我将一些测试 html 文件放在railsapps
目录中时,它可以正常运行。
/var/log/apache2/railsapps_error.log
[Sun Jun 19 12:19:08 2011] [error] [client <IP>] Directory index forbidden by Options directive: /www/vhosts/railsapps/siteA/
[Sun Jun 19 12:19:08 2011] [error] [client <IP>] File does not exist: /www/vhosts/railsapps/favicon.ico
答案1
您可以使用passenger-memory-stats
来获取一些信息:
$: sudo passenger-memory-stats
要使用passenger-status
,您可能需要安装 rvm,然后您可以:
$: rvmsudo passenger-status
答案2
日志条目是关于无法启动看门狗,因为其可执行路径不存在。许多站点中的一个将 PassengerRoot 设置为旧路径和旧版本的 Passenger。这导致了问题。