A entrada de log foi incapaz de iniciar o watchdog porque o caminho do executável não existe. O de muitos sites tinha PassengerRoot definido para o caminho antigo e versão antiga do passageiro. E isso estava causando um problema.
Meu servidor é:
Server version: Apache/2.2.11 (Ubuntu)
Server built: Aug 16 2010 17:44:11
Minha versão ruby ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-linux]
.
Eu instalei passenger 3.0.7
via RubyGems. Eu corri passenger-install-apache2-module
e tudo correu bem. Eu modifiquei a configuração (load module, edit virtualhost etc.) e reiniciei o Apache. O módulo está carregando bem (o apache não reclama). Mas o passageiro obviamente não está funcionando:
sudo passenger-status
ERROR: Phusion Passenger doesn't seem to be running.
Como posso fazê-lo funcionar?
Editar 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
Raiz do passageiro:
passenger-config --root
/usr/lib/ruby/gems/1.9.1/gems/passenger-3.0.7
Configuração do sub-URI do Apache VirtualHost em / 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>
É claro que, como no guia de usuários, apache.html ' siteA
e siteB
são links simbólicos para siteA/public
e siteB/public
caminhos absolutos, respectivamente.
Editar 2:
Nos logs não há nada relacionado ao passageiro. As permissões também são boas (lidas e executáveis) em diretórios em caminhos. Mesmo se fosse algum erro de configuração ou problema de permissão, o passageiro não deveria estar em execução? Quero dizer, sudo passenger-status
deve pelo menos gerar --- general information ---
. Quando coloco algum arquivo html de teste no diretório railsapps
, ele é servido bem.
/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
Você pode usar passenger-memory-stats
para obter algumas informações:
$: sudo passenger-memory-stats
Para usar passenger-status
, talvez seja necessário instalar o rvm e, em seguida, você pode:
$: rvmsudo passenger-status