1

申し訳ありませんが、この質問は既に回答されている可能性がありますが、役立つ回答が見つかりません。

私の状況はこんな感じです。「helper.local.company」と呼ばれる内部サーバーがあります。現在、これを使用してRailsアプリケーションを実行しています。そこにたどり着くには、ユーザーは「helper.local.company/ror_app1_route」と入力するだけです

サーバーに別のアプリをインストールしてから、ユーザーが helper.local.company/ror_app2_route と入力して新しいアプリにアクセスするようにします。

私の現在のnginx confファイルは次のようになります:

server {
  listen       80      default_server;
  server_name helper.local.company;

  root /var/www/apps/ror_app1/current/public;

  passenger_enabled on;
  rack_env production;
}

サブドメインを使用せずに 2 つの Rails アプリを動作させるには、何を変更または追加する必要がありますか?

ありがとう

4

1 に答える 1

0

必要なキーワードは「passenger_base_uri」です

参照元: http://www.modrails.com/documentation/Users%20guide%20Nginx.html#deploying_rails_to_sub_uri

以下は簡単な例です

すでにサーバーの仮想ホスト エントリがあるとします: http { ...

server {
    listen 80;
    server_name www.phusion.nl;
    root /websites/phusion;
    }
...

}

また、URL http://www.phusion.nl/railsから Ruby on Rails アプリケーションにアクセスできるようにします。これを行うには、仮想ホストのドキュメント ルートにシンボリック リンクを作成し、Ruby on Rails アプリケーションのパブリック フォルダーを指すようにします。例えば:

ln -s /webapps/mycook/public /websites/phusion/rails

次に、passenger_enabled をオンに設定し、passenger_base_uri オプションをサーバー ブロックに追加します。

http {
...

server {
    listen 80;
    server_name www.phusion.nl;
    root /websites/phusion;
    passenger_enabled on;        # <--- These lines have
    passenger_base_uri /rails;   # <--- been added.
    }
...
}

次に、Nginx を再起動します。アプリケーションがデプロイされました。

Passenger_base_uri を複数回指定することで、仮想ホストの下に複数の Rails アプリケーションをデプロイできます。例えば:

server {
...
passenger_base_uri /app1;
passenger_base_uri /app2;
passenger_base_uri /app3;
}
于 2013-08-15T03:15:20.393 に答える