0

Railsアプリが正常に動作しているUbuntu/Apache VPSがあります。ここで、2 番目の Rails アプリを追加し、仮想ホストを変更して、サブフォルダーにアクセスすると 2 番目の Rails アプリが表示されるようにします。

Rails アプリは、Capistrano で次の目的でデプロイされます。

/home/<myname>/apps/<app_1>/current
/home/<myname>/apps/<app_2>/current

「/etc/apache2/sites-available/default」ファイルは次のようになります。

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        RailsBaseURI /app_1
        <Directory /var/www/app_1>
          Options -MultiViews
        </Directory>

        RailsBaseURI /app_2
        <Directory /var/www/app_2>
          Options -MultiViews
        </Directory>
</VirtualHost>

2番目のアプリでも同じことを繰り返すとうまくいくと思いますが、そうではありません. public フォルダーの内容が /var/www/app_1 にどのように保存されるか忘れましたか?

「www.mysite.com/app_2」にアクセスすると、次のように表示されます。

そのようなファイルまたはディレクトリはありません - config/environment.rb

ただし、「www.mysite.com/app_1」にアクセスすると機能します。助言がありますか?

4

2 に答える 2

0

Apache はドキュメント ルートとして 1 つのフォルダーのみを使用するため、2 つのアプリを指定するだけで 2 つ目のアプリを取得する場所を apache に指示しない場合、メインのドキュメント ルートを使用してドキュメントを検索するため、この場合は app_2 を最初のアプリにルーティングします。アプリ。

2 番目の vhost を一緒に追加してみてください。2 つの異なるドメインがそれぞれ正しいフォルダー/URL を指している場合と同じ方法で、このリンクを見てください。

http://httpd.apache.org/docs/2.2/vhosts/examples.html

于 2013-04-10T19:48:10.267 に答える