【问题标题】:Does it matter where the Django project exists on the system?Django 项目在系统中的位置是否重要?
【发布时间】:2009-10-08 20:57:26
【问题描述】:

除了不将 Django 项目部署到网站根目录之外,从一个位置运行 Django 项目是否有任何特定的好处,例如/var/django-projects/**xxxxx-project/ 与(在共享托管环境中)在域文件夹中运行每个 Django 项目,例如**/vhost/mydomain.com/xxxxx-project?

【问题讨论】:

    标签: django


    【解决方案1】:

    没关系 - 选择适合您需求的组织。

    在创建服务器以处理多个 Django 站点时,我大致遵循 this 指南,并且我喜欢它使用的文件夹组织。几个好处:

    • 所有 Django 站点都在一个特殊的 django 用户的主目录中
    • 有一个域文件夹,然后是每个站点的文件夹,其中包含 django 项目、日志、wsgi 文件和其他文件
    • VirtualHost 容器都在自己的文件中,使 httpd.conf 易于管理。

    【讨论】:

      【解决方案2】:

      实际上,只要您保持一致,将它们放在哪里都不重要。

      我认为最大的争论可以归结为文件系统权限以及相关文件的位置。如果您允许项目的不同用户进行开发,但又想限制他们的范围,那么拆分将更有意义。

      【讨论】:

        【解决方案3】:

        没有,除非你提到,即它不应该在任何网站的 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。 :-)

        【讨论】:

          猜你喜欢
          • 2012-08-30
          • 1970-01-01
          • 2011-06-01
          • 1970-01-01
          • 2011-09-05
          • 1970-01-01
          • 2010-10-18
          • 2012-05-13
          • 1970-01-01
          相关资源
          最近更新 更多