2

複数のドメインで使用される Django プロジェクトを作成していますが、ドメインによって機能が若干異なります。これを設定する適切な方法についてのアドバイスを探しています。

サイトフレームワークは、 処理が Django コードを実行するポイントに達した後、いくつかのカスタマイズを行うのに適しているようです。しかし、その時点に到達する前に、セットアップがどうあるべきかを判断しようとしています(nginx、flup、fastcgi、configに関連して)。

これが私の現在の理解です:

それぞれ異なる SITE_ID を持つ複数の Django 設定ファイルが適切であるようです。次に、2 つの異なるソケットを指す nginx 構成で 2 つの仮想ホストがセットアップされます。次に、2 つの「manage.py runfastcgi」プロセスを使用して、これら 2 つの異なるソケットをリッスンし、各プロセスが異なる settings.py を参照します。

./manage.py --settings=settings.site1.py runfcgi method=prefork socket=/home/user/mysite1.sock pidfile=django1.pid
./manage.py --settings=settings.site2.py runfcgi method=prefork socket=/home/user/mysite2.sock pidfile=django2.pid

ただし、ドメインを追加すると、これが面倒になる可能性があるようです。追加されるすべてのドメインに対して、新しい「manage runfastcgi」プロセスを実行する必要があります。それぞれに対して個別のプロセスを実行せずに、この方法で複数のサイトをサポートする方法はありますか?

Django で複数のドメインをホストした経験は?

どんなアドバイスでも大歓迎です。読んでくれてありがとう。

ジョー

4

1 に答える 1

2

多数のドメインを実行する場合、ドメインごとに 1 つのプロセスが非常に高価になる可能性があります。サイト フレームワークは当初、別のユース ケースを念頭に置いて作成されました。複数のニュース サイトで「複製」コンテンツを簡単に作成できるようにすることです。サイト フレームワークを他の用途に使用しようとすると、いくつかの問題が発生します。

1 つの可能性は、ドメイン処理をミドルウェアに移動し、django にマルチドメイン部分を処理させることです。ただし、特にアプリを微調整してドメインを認識し、urlconf、テンプレートなどを調整する必要がある場合は、簡単ではありません...簡単なGoogle検索が表示されました:

http://djangosnippets.org/snippets/1119/

出発点として役立つかもしれません。

于 2011-02-23T17:24:29.643 に答える