【问题标题】:Proper project path and directory permissions for Django deployment?Django部署的正确项目路径和目录权限?
【发布时间】:2016-10-02 18:57:54
【问题描述】:

背景

我正在学习在 Ubuntu 上使用 Nginx 部署 Django 应用程序。据我所知/var/www/<project_root> 是放置 Django 项目的常见位置。

问题

我不确定/var/www 是否被认为是该项目的良好且安全的做法,或者是否有其他一些被认为更合适的选项。此外,我不完全确定谁应该是项目目录的所有者以及它应该拥有哪些权限。

邀请

  1. 我应该将 Django 项目放在 Ubuntu 文件系统中的什么位置?
  2. 哪个用户应该拥有项目目录?
  3. 项目目录和文件应该有什么权限

我知道这些猜测没有明确的答案,但我很确定有一些被广泛认为是安全的常见良好做法。

【问题讨论】:

    标签: django ubuntu nginx web-deployment


    【解决方案1】:

    实际上,/var/www 对您的 Django 代码来说是个糟糕的地方。它是 Apache 的默认 DocumentRoot,因此它看起来是为用户提供文件的地方;但是 Django 代码不是应该提供的文件,而是应该运行的代码。将代码放在那里可能会导致错误配置允许您的代码直接提供给用户,这是一个很大的安全风险。

    除此之外,代码的去向并不重要。我个人喜欢/srv

    【讨论】:

    • 感谢丹尼尔的回答。我真的很欣赏它。您能否扩展您的答案以针对客人 2 和 3 呢?我知道在处理这些问题时需要考虑很多问题,但是像您对问题 1 提供的一般性指导会很有帮助。一旦你扩展它,我肯定会接受你的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    • 2020-02-20
    • 2011-09-06
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    相关资源
    最近更新 更多