我使用Nginx作为将Python请求redirect到Apache + mod_wsgi的前端Web服务器。 所有这一切工作正常。 我有一个Django项目正在运行,我想为我的一些项目应用程序设置子域名。
build议结构:
/ www / project / –
– > / admin / – admin.domain.com
– > / www / – www.domain.com
– > / common_data / – 没有子域名
– >等
这个设置在哪里完成? Apache还是在Django内完成? Apache重写规则是这样做的最好方法吗? 我宁愿在浏览器窗口中维护url。 即http://domain.com/admin/filebrowser/browse/ – > http://admin.domain.com/filebrowser/browse/ 。
任何意见,将不胜感激。 谢谢
PS:我看到以下链接: http : //www.djangosnippets.org/snippets/1119/,http ://sharjeel.2scomplement.com/2008/07/24/django-subdomains/,http:// www .rossp.org / blog / 2007 / apr / 28 / using-subdomains-django /但他们似乎没有做同样的事情。
在Apache中设置多个<VirtualHost> ,并将每个指向一个不同的DocumentRoot 。
我现在正在做我的VPS。 这有三个步骤:
这篇文章对我很有帮助: Django和Ubuntu Intrepid Almanac 。
您的DNS条目应如下所示:
sub.domain.com. 3600 IN CNAME domain.com.
在/ etc / nginx / sites-available目录中:
在/ etc / apache2 / sites-available目录中:
不要忘记为每个相应的启用站点的目录添加一个符号链接。
我find了解决scheme,工作得很好。 但是有一些问题,因为一些可重用的应用程序(如django-debug-toobar)在模板中存在媒体文件path的问题。 当然,您可以修改它们以手动工作。
Django多主机configuration