【发布时间】:2009-10-08 20:57:26
【问题描述】:
除了不将 Django 项目部署到网站根目录之外,从一个位置运行 Django 项目是否有任何特定的好处,例如/var/django-projects/**xxxxx-project/ 与(在共享托管环境中)在域文件夹中运行每个 Django 项目,例如**/vhost/mydomain.com/xxxxx-project?
【问题讨论】:
标签: django
除了不将 Django 项目部署到网站根目录之外,从一个位置运行 Django 项目是否有任何特定的好处,例如/var/django-projects/**xxxxx-project/ 与(在共享托管环境中)在域文件夹中运行每个 Django 项目,例如**/vhost/mydomain.com/xxxxx-project?
【问题讨论】:
标签: django
没关系 - 选择适合您需求的组织。
在创建服务器以处理多个 Django 站点时,我大致遵循 this 指南,并且我喜欢它使用的文件夹组织。几个好处:
【讨论】:
实际上,只要您保持一致,将它们放在哪里都不重要。
我认为最大的争论可以归结为文件系统权限以及相关文件的位置。如果您允许项目的不同用户进行开发,但又想限制他们的范围,那么拆分将更有意义。
【讨论】:
没有,除非你提到,即它不应该在任何网站的 DocumentRoot 下。
您还应该确保 WSGI 脚本文件与 Django 设置文件不在同一目录中,因为这样做通常会看到您对 Apache 说该目录可以由 Apache 提供。这可能不会发生,因为没有 Alias 指令将 URL 映射到该目录,但您仍然从 Apache 安全性中移除了一层保护。
因此,请遵循以下指南:
http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango
并将 WSGI 脚本文件放在自己的目录中,该目录下根本没有源代码,或者将 WSGI 脚本文件放在 Django 项目之外的完全不同的目录中,该目录再次只包含其他文件的脚本文件从技术上讲,Apache 将被允许提供服务。
基本规则是不要将源代码(WSGI 脚本文件除外)粘贴在以下目录中:
Allow from all
已通过 Apache 配置方式定义。
当然,以上部分假设您使用的是 mod_wsgi。 :-)
【讨论】: