Мой сервер:
Server version: Apache/2.2.11 (Ubuntu)
Server built: Aug 16 2010 17:44:11
Моя рубиновая версия 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
Конфигурация вспомогательного URI Apache VirtualHost в / и т. д. / apache2 / с поддержкой сайтов / 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
Вы можете использовать passenger-memory-stats
чтобы получить некоторую информацию:
$: sudo passenger-memory-stats
Использовать passenger-status
, вам может потребоваться установить rvm, тогда вы сможете:
$: rvmsudo passenger-status
Запись в журнале не позволяла запустить сторожевой таймер, поскольку путь к исполняемому файлу не существует. На одном из многих сайтов PassengerRoot был установлен на старый путь и старую версию пассажира. И это создавало проблему.