我正在制作一个Django项目。 但是我正在处理一个奇怪的权限问题。 毕竟,这是我的项目的结构:
项目
项目
日志
部署它时,除非www-data是项目/项目/应用程序 (recursion)的用户所有者或组所有者,否则该站点将不会运行,只要它具有775或550的权限。 它有一个HTTP 500错误
奇怪的是,当我更改权限到777 ,并从www数据中删除所有权,我仍然有相同的HTTP 500错误。
通常的错误是一个ImportError。 它不能导入一些模块/应用程序。
现在我的问题是为什么呢? 至less有权限777 ,它应该运行www-data将无论如何拥有文件夹项目/项目/应用程序的完全权限
看起来好像Apache( www-data )只想拥有这个文件夹(无论是在组级别还是用户级别)
如何在使用Apache进行部署时,在django项目文件夹上设置权限?
第一件事HTTP 500错误是一个常见的错误可能是由许多因素造成的,我怀疑它是否是一个权限问题,因为那么它可能有403个禁止错误。 你可以请把错误日志添加到问题中。
当你的文件无法导入其他文件或应用程序时,导入错误在python / django中起作用。 这也可能会导致python程序的工作目录与项目中导入的其他文件不兼容。
就好像我在src / common / libraries / a.py中有一个文件,在src / common / helpers / a_helper.py中有一个文件
和来自src.common.helper.a_helper的a.py导入*
当我从mypro / src / common / libraries运行a.py时,它将显示导入错误,而从mypro /目录运行相同的程序将成功运行程序。
Django文档非常有用,请阅读: https : //docs.djangoproject.com/en/1.10/howto/deployment/wsgi/modwsgi/