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

标签 python django linux apache mod-wsgi

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

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

我的问题:

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

最佳答案

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

问题

使用错误的 wsgi 安装 (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

关于python - Django:使用 mod_wsgi 创建的 SOCK 文件的权限错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47542260/

相关文章:

python - 如何将 Python OpenID Connect 模块与 IBM Cloud App ID 结合使用?

python - Django View 中的原始 SQL 查询

linux - 如何为此代码制作错误消息

python - 如何迭代 string.format 中的 dict

python - 如何使用python自动重命名txt文件

python - 将 Python 2.x 文件(如对象)移植到 Python 3

python - django unicode 到字符串

python - 信号和 django channel 聊天室

linux - linux中如何使用for循环统计并打印出一组单词

linux - 如何在 gcloud 上没有 deploy.sh 文件的情况下为 node.js 应用程序打开端口 80?