0

Nginxを使用してfcgiで1つのインスタンスのみを使用して複数のdjangoプロジェクトを提供しようとしています.

django が DJANGO_SETTINGS_MODULE を使用して正しいプロジェクトを処理しているのを見ましたが、実行時に特定のプロジェクトを選択するように指示することはできません。

./manage.py --settings=SETTINGS を試しましたが、プロセスを開始したときだけであり、動的に変更することはできません。

nginxでもこれを試しました:

location /foo {
  fastcgi_split_path_info   ^()(.*)$;
  fastcgi_param             DJANGO_SETTINGS_MODULE foo.settings;
  fastcgi_param             PATH_INFO $fastcgi_script_name;
  include                   fastcgi_params;
  fastcgi_pass              127.0.0.1:8080;
}

location /bar {
  fastcgi_split_path_info   ^()(.*)$;
  fastcgi_param             DJANGO_SETTINGS_MODULE bar.settings;
  fastcgi_param             PATH_INFO $fastcgi_script_name;
  include                   fastcgi_params;
  fastcgi_pass              127.0.0.1:8080;
}

しかし、DJANGO_SETTINGS_MODULE を印刷すると、常にデフォルト値になります。

では、特定の URL を特定の django プロジェクトにリダイレクトする方法を知っている人はいますか?

ありがとうございました。

4

2 に答える 2

1

DJANGO_SETTINGS_MODULEリクエスト間で変更することはできません。サイトごとに 1 つの fastcgi サーバーを実行する必要があります。たとえば、 foo on127.0.0.1:8080と bar on 127.0.0.8081

于 2012-11-13T14:27:30.293 に答える
0

1台のサーバーに複数のdjnagoプロジェクトを配置する方法を理解したかったので、見つけた素敵なブログ投稿があります。

http://www.neuraladvance.com/2011/03/29/django-nginx-fastcgi-daemontools/

于 2012-11-23T13:45:59.447 に答える