2016-09-06 236 views
3

我正在使用Easy apache 4,mod_wsgi和Python 3.5。当我打电话服务器中的Django项目我得到了以下错误:mod_wsgi无法连接WSGI守护进程

(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. 

回答

4

Apache安装很可能建立与SECURE特权模式下运行。这意味着在处理请求之前Apache的子工作者进程被分离并且特权被丢弃,在这种情况下,这只是简单地尝试将请求代理到mod_wsgi守护进程。这样做的结果是它无法连接到守护进程的套接字,因为它是在拥有所有权的情况下设置的,以便在权限被删除之前与原始Apache子进程工作进程匹配。

这很明显,因为错误消息在正常用户的范围内有uid,而不是用户的特殊apachenobody用户。

为了解决这个问题,你需要修改WSGIDaemonProcess指令配置和添加选项:

socket-user=#3708 

或:

socket-user=username 

其中username替换为用户的使用uid实际名称的3708

由于Apache的CPanel配置的最近更改,似乎需要添加此选项。

相关问题