我正在创build一个将被多个域使用的Django项目,并且这个function将会根据域而略有不同。 我正在寻找正确的方法来设置这个build议。
网站框架似乎是一旦处理已经达到了执行Django代码的位置,这将是一个非常适合做一些自定义。 但是我试图确定什么设置应该是在我们达到这一点之前(关于nginx,flup,fastcgi,configuration)。
这是我目前的理解:
好像多个Django设置文件是合适的,每个都有不同的SITE_ID。 然后,将在nginxconfiguration中设置两个虚拟主机,指向两个不同的套接字。 然后使用两个'manage.py runfastcgi'进程来监听这两个不同的套接字,每个进程会引用不同的settings.py
./manage.py --settings=settings.site1.py runfcgi method=prefork socket=/home/user/mysite1.sock pidfile=django1.pid ./manage.py --settings=settings.site2.py runfcgi method=prefork socket=/home/user/mysite2.sock pidfile=django2.pid
但是,如果你添加更多的域名,这似乎会变得混乱。 这将需要一个新的“pipe理runfastcgi”进程为每个将被添加的域运行。 有没有办法以这种方式支持多个网站,而不是每个运行一个单独的进程?
你用Django托pipe多个域的经验是什么?
任何意见,非常感谢。 感谢您的阅读。
乔
如果您要运行大量域,则每个域的一个进程可能会相当昂贵。 网站框架最初是考虑到另一个用例:能够在多个新闻站点上轻松创建“重复”内容。 当试图使用其他用途的网站框架时,遇到了几个困难。
一种可能是把域名处理移到一个中间件上,让Django处理多域部分。 这不是微不足道的,特别是如果你必须调整应用程序的域名意识,以及urlconfs,模板等…快速谷歌搜索显示:
http://djangosnippets.org/snippets/1119/
可以帮助作为一个起点。