Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django的多个站点使用nginx和fcgi_Python_Django_Nginx - Fatal编程技术网

Python django的多个站点使用nginx和fcgi

Python django的多个站点使用nginx和fcgi,python,django,nginx,Python,Django,Nginx,我正试图通过Nginx在fcgi上只使用一个实例来服务多个django项目 我看到django使用django_SETTINGS_模块来处理正确的项目,但我不能告诉他在运行时选择特定的项目 我尝试过./manage.py--settings=settings,但这只是在启动流程时进行的,无法动态更改 我也在nginx上尝试过: location /foo { fastcgi_split_path_info ^()(.*)$; fastcgi_param DJA

我正试图通过Nginx在fcgi上只使用一个实例来服务多个django项目

我看到django使用django_SETTINGS_模块来处理正确的项目,但我不能告诉他在运行时选择特定的项目

我尝试过./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_设置_模块时,它总是处于默认值

那么,有人知道如何将特定URL重定向到特定django项目吗


谢谢。

DJANGO\u设置\u模块不能因请求而异。每个站点必须运行一台fastcgi服务器。例如
127.0.0.1:8080上的foo和
127.0.0.8081上的bar,我发现了一篇很好的博客文章,我想弄清楚如何在一台服务器上拥有多个djnago项目:


这不是太贪婪了吗?每个站点将运行一台django服务器。是的,每个站点运行一台服务器可能需要更多的RAM,但您可能没有任何选择。如果设置文件基本相同,则可以从一个项目运行两个站点(例如,可以使用中间件按请求设置
urlconf
)。如果看不到这两个设置文件,我们无法判断这是否可行。这些站点必须相似。您必须安装相同的APS和许多其他东西。相对简单的方法是将站点变量动态切换到模板目录。您可以接受吗?我最终使用了套接字,因为端口号限制为65536(减去1024,不允许非特权用户使用),我不想阻止其他应用程序使用它们。