繁体   English   中英

使用Nginx和FCGI在Django中的多个站点

[英]Multiple sites in django with nginx and fcgi

我正在尝试使用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项目?

谢谢。

DJANGO_SETTINGS_MODULEDJANGO_SETTINGS_MODULE请求之间不能有所不同。 您必须在每个站点上运行一台fastcgi服务器。 例如foo在127.0.0.1:8080 ,bar在127.0.0.8081

我发现了一篇不错的博客文章,因为我想弄清楚如何在一台服务器上有多个djnago项目:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM