我正在使用 Easy apache 4、mod_wsgi 和 Python 3.5。当我在服务器中调用 Django 项目时,出现以下错误:
(13)Permission denied: mod_wsgi (pid=24223): Unable to connect to WSGI daemon
process 'user123' on '/var/run/wsgi.8442.6.7.sock' as user with uid=3708.
最佳答案
您的 Apache 安装可能设置为以 SECURE
权限模式运行。这意味着 Apache 子工作进程在处理请求之前被 fork 并被删除,在本例中,它只是尝试将请求代理到 mod_wsgi 守护进程。这样做的结果是它无法连接到守护进程的套接字,因为在删除权限之前它的所有权被设置为与原始 Apache 子工作进程相匹配。
这一点很明显,因为错误消息中的 uid
在普通用户范围内,而不是特殊的 apache
或 nobody
用户。
要修复此问题,您需要修改 WSGIDaemonProcess
指令配置并添加选项:
socket-user=#3708
或者:
socket-user=username
其中 username
替换为 uid
为 3708
的用户的实际名称。
由于 Apache 的 CPanel 配置最近发生了变化,似乎需要添加此选项。
关于django - mod_wsgi 无法连接 WSGI 守护进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39346586/