我正在尝试使用Nginx在fcgi上只使用一个实例来服务多个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项目?
谢谢。
答案 0 :(得分:1)
DJANGO_SETTINGS_MODULE
不能在请求之间变化。您必须为每个站点运行一个fastcgi服务器。例如,127.0.0.1:8080
上的foo和127.0.0.8081
上的栏。
答案 1 :(得分:0)
我找到了一篇不错的博文,因为我想知道如何在一台服务器上安装多个django项目:
http://www.neuraladvance.com/2011/03/29/django-nginx-fastcgi-daemontools/