web-dev-qa-db-ja.com

Apacheで2つのRuby on Rails同じサーバー内の同じIPを持つアプリを構成する

以前に2つのRubyとRailsアプリケーションを実行しましたが、そのうちの1つはRails consoleコマンド、もう1つはApache trough Phusion Passengerを使用しています。両方のアプリケーションは同じIPで実行されましたが、唯一の違いは、wih Railsコンソールがポート3000からアクセス可能であったことです。

ここで、両方のアプリをApacheで実行したいのですが、それを実行するために正確に構成するものはわかっています。 VirtualHostsを読みましたが、わかりません。サーバーとドメインが1つしかないことを考えると、別のポートを使用しただけです。私はこれに似たものを数回試しました:

<VirtualHost *:80>
    #ServerAdmin @dummy-Host.example.com
    DocumentRoot /webserver/myapp/public
    ServerName myapp-Development
    <Directory /webserver/myapp/public>
         AllowOverride all
         Options -MultiViews
    </Directory>
    ErrorLog logs/k2-error_log
    CustomLog logs/k2-access_log common
</VirtualHost>

<VirtualHost *:3000>
    #ServerAdmin @dummy-Host.example.com
    DocumentRoot /webserver/myapp2-admin/public
    ServerName myapp2-admin
    <Directory /webserver/myapp2-admin/public>
         AllowOverride all
         Options -MultiViews
    </Directory>
    #ErrorLog logs/k2-error_log
    #CustomLog logs/k2-access_log common
</VirtualHost>

動作しませんでした。ブラウザにIPを入力するだけで、最初のアプリケーションにアクセスできます。

同じサーバー内の2つのRoRアプリケーションを異なるポートで使用できるようにするにはどうすればよいですか?

OR

オプション:myapp2を同じポート80で実行し、次の方向で使用できるようにするにはどうすればよいですか:some.ip.address/admin?

AmazonEC2インスタンスでCentOS5.7を使用する。

この質問で答えを見つけました。問題は、サブドメインのCNAMESレコードを作成するためのドメインがないことです: https://stackoverflow.com/questions/4203580/creating-subdomains-in-Amazon-ec2

1
Mr_LinDowsMac

私の答えを確認してください ここ サブURLからの複数のRailsアプリケーションの提供に関する同様の質問へ。

仮想ホストとは別に、2つの異なるポートから2つのRailsアプリをサーバー化する場合は、Apacheconfにも追加する必要があります。

Listen 80
Listen 3000
NameVirtualHost *:80
NameVirtualHost *:3000
1
Litmus

あなたはおそらくports.confを編集するのを忘れたでしょう、あなたはApacheをそのポートにバインドさせるために別のListenを追加する必要があります。

1
Lucas Kauffman