Django:使用mod_wsgi创建的SOCK文件的权限错误

时间:2017-11-28 22:51:02

标签: python django linux apache mod-wsgi

我使用Apache2和mod_wsgi在我的服务器上运行了一个Django应用程序。我也让WSGI以守护进程模式运行。因此,每次重新启动apache2服务时都会出现一个小问题。

/var/run/中创建了一个新的sock文件,这不是问题本身,但由于这个原因,新文件是由root创建的,并且给予所有者www-data,我的用户是提供文件不是所有者。

我的问题

如何创建新的sock文件,使用 user 作为所有者, www-data 作为组创建?

1 个答案:

答案 0 :(得分:0)

根据@GrahamDumpleton的帮助,我能够解决这个问题。

<强>问题

使用错误的wsgi install(libapache2-mod-wsgi)在尝试在apache conf文件中运行WSGIDaemonMode时导致问题。我无法使用socket-user=user选项,因此在服务重新启动时创建新的sock文件时,我没有收到Permission denied问题。

<强>解决方案

对我来说,我在我的服务器上进行了全新的Debian 8安装,因为我在我的文件中试图解决这个问题很多,所以我觉得这是最好的。在全新安装后,使用pip install mod_wsgi能够正常工作(在我的全新安装之前无法工作,即使在安装python 2.7.13 之后) - 很奇怪,我知道......

由于我已正确安装mod_wsgi,因此我可以使用socket-user=user选项来解决我的问题。

Documentation for mod_wsgi