我使用Apache2和mod_wsgi在我的服务器上运行了一个Django应用程序。我也让WSGI以守护进程模式运行。因此,每次重新启动apache2服务时都会出现一个小问题。
在/var/run/
中创建了一个新的sock文件,这不是问题本身,但由于这个原因,新文件是由root创建的,并且给予所有者www-data,我的用户是提供文件不是所有者。
我的问题:
如何创建新的sock文件,使用 user 作为所有者, www-data 作为组创建?
答案 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
选项来解决我的问题。