Django部署的正确项目路径和目录权限?

时间:2016-06-02 20:59:28

标签: django ubuntu nginx web-deployment

背景

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

问题

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

Guestions

  1. 我应该在哪里将Django项目放在Ubuntu文件系统中?
  2. 哪个用户应该拥有项目目录?
  3. 项目目录和文件应具有哪些权限
  4. 我知道这些猜测没有明确的答案,但我很确定有一些普遍的良好做法被广泛认为是安全的。

1 个答案:

答案 0 :(得分:3)

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

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