Python django的多个站点使用nginx和fcgi
我正试图通过Nginx在fcgi上只使用一个实例来服务多个django项目 我看到django使用django_SETTINGS_模块来处理正确的项目,但我不能告诉他在运行时选择特定的项目 我尝试过./manage.py--settings=settings,但这只是在启动流程时进行的,无法动态更改 我也在nginx上尝试过: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
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,不允许非特权用户使用),我不想阻止其他应用程序使用它们。