2010-12-16 6 views
0

My Railsアプリケーションは、各顧客にサブドメインを使用します。Rails3 - 開発にlvh.meを使用し、プロダクションで何をするのですか?

ので、私は持っている:

customer1.domain.com/ customer2.domain.com/ customer3.domain.com/

通常、一つは、各顧客のためにエントリを追加する必要があります/ etc/host。しかし、私はhttp://railscasts.com/episodes/221-subdomains-in-rails-3に記載されているようにlvh.meを使用しました。開発モードでは、これはかなりうまくいっています。

今、私は展開したいと思います。顧客ごとにetc/hostにエントリを追加しないようにする方法はありますか?

私はNginxとPhusion Passengerを使用しています。

答えて

2

あなたのnginx設定ファイル(etc/hostsについてはわかりませんが、dnsを追跡するためのものではありませんか?)は、nginxが特定のserverブロック内のそのドメインのサブドメインに対応できるようにします。 (あなたはnginxの設定にアクセスする場合)、そのワイルドカード、そのあなたのアプリケーションにどのように要求を処理する。すなわち:

server { 
    server_name *.domain.com; 
    blah blah woof .... 
} 

かなり包括的な概観は、私はようやく私の開発マシンにDNSサーバを設定終わるhere

+0

確かに、ワイルドカードを使用してnginxのルーティングでき、すべてのincomings要求を行うには、サブドメイン-FUと加えて、あなたのroutes.rbを設定することができます。私はserver_name * .davinci.dev davinci.devを持っています。しかし、状況は/ etc/hostsにこれを追加する必要があるということです:127.0.0.1 davinci.localこれで私のコンピュータはこのホストを入力すると知ります - > davinci.local私は自分のコンピュータ - > 127.0.0.1を意味します。そしてこの設定で私の開発マシン上の私のウェブサイトのルートドメインにアクセスすることができます。問題は、/ etc/hostsファイルがワイルドカードを受け入れないことです。私は* .davinci.localと言うことができないので、私のウェブブラウザにcustomer1.davinci.localと入力すると、私のコンピュータはそれをlocalhostとして認識しません。 – Nerian

+1

そして、すべてのクライアントのためにlocalhostにエントリを追加するのは非常に不便です。 – Nerian

0

あなたはすべてこの

関連する問題