私のサーバーは:
_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]
。
RubyGems経由で_passenger 3.0.7
_をインストールしました。 _passenger-install-Apache2-module
_を実行しましたが、すべてうまくいきました。構成を変更し(モジュールのロード、仮想ホストの編集など)、Apacheを再起動しました。モジュールは正常にロードされています(Apacheは文句を言いません)。しかし、乗客は明らかに機能していません:
_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
_
/ etc/Apache2/sites-enabled/railsappsのApache VirtualHostサブURI構成:
_<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つでは、PassengerRootが古いパスと古いバージョンのpassengerに設定されていました。そしてそれが問題を引き起こしていた。
passenger-memory-stats
を使用して、いくつかの情報を取得できます。
$: Sudo passenger-memory-stats
passenger-status
を使用するには、rvmをインストールする必要がある場合があります。その後、次のことができます。
$: rvmsudo passenger-status