以前に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
私の答えを確認してください ここ サブURLからの複数のRailsアプリケーションの提供に関する同様の質問へ。
仮想ホストとは別に、2つの異なるポートから2つのRailsアプリをサーバー化する場合は、Apacheconfにも追加する必要があります。
Listen 80
Listen 3000
NameVirtualHost *:80
NameVirtualHost *:3000
あなたはおそらくports.confを編集するのを忘れたでしょう、あなたはApacheをそのポートにバインドさせるために別のListenを追加する必要があります。