同じマシンでRails3とRails2.3.8アプリを実行したいと思います。私は現在、Rails3アプリ用にRuby1.9.2を使用してPassengerをセットアップしており、Apacheで正常に動作しています。PhusionのWebサイトで次の情報を見つけ、リバースプロキシを試しています。
http://blog.phusion.nl/2010/09/21/phusion-passenger-running-multiple-ruby-versions/
このアプリのApachevhostファイルは次のようになります。
<VirtualHost *:80>
ServerName gtt
DocumentRoot /home/purvez/www/gtt/public
RailsEnv development
PassengerEnabled off
ProxyPass / http://127.0.0.1:3000
ProxyPassReverse / http://127.0.0.1:3000
</VirtualHost>
乗客スタンドアロンを使用してアプリに正しくアクセスできます。
127.0.0.1:3000/start
しかし、私がそれにアクセスしようとすると:
http://gtt/start
次のようなメッセージが表示されます。
[GET]"/start"に一致するルートはありません
ただし、Apache'other_vhosts_access.log'には、次のエントリが表示されます。
testapp:80 127.0.0.1 - - [20/Oct/2011:15:27:58 +0100] "GET /start HTTP/1.1" 404 737 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
ご覧のとおり、gtt:80ではなくtestapp:80を呼び出そうとしています。私は/etc/ hostsファイルにこれらの両方を持っており、実際にはgttはtestappの前です!
私はここで何を間違っているのですか、そしてそれを正しくする方法は?
編集
困惑です!私はUbuntuでサイトを有効にしていないため、利用可能な唯一のサイト、つまりtestappを調べていました。
ただし、問題を修正しても、500エラーが発生します。'other_vhosts_access.log'エントリは次のことを示しています。
gtt:80 127.0.0.1 - - [20/Oct/2011:18:07:30 +0100] "GET /start HTTP/1.1" 500 599 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
これは、Passengerスタンドアロンへのプロキシが実行されておらず、Apacheがそれ自体を開始しようとしているようなものです。確かに、passenger.3000.log(つまりスタンドアロンのPassengerログ)はまったくアクティビティを表示していません!
ですから、記念碑的な大失敗をして、最初はみんなの時間を無駄にしたので、プロキシが起こっていないように見えるという点で、私はまだ同じボートにいます!!
誰かアイデアがありますか?