django - mod_wsgi 无法连接 WSGI 守护进程

标签 django cpanel mod-wsgi

我正在使用 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 在普通用户范围内,而不是特殊的 apachenobody 用户。

要修复此问题,您需要修改 WSGIDaemonProcess 指令配置并添加选项:

socket-user=#3708

或者:

socket-user=username

其中 username 替换为 uid3708 的用户的实际名称。

由于 Apache 的 CPanel 配置最近发生了变化,似乎需要添加此选项。

关于django - mod_wsgi 无法连接 WSGI 守护进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39346586/

相关文章:

java - 我们可以在简单的网站 cPanel 中部署 .war 文件吗?

django - 导入错误: Could not import settings (Is it on sys.路径?设置文件中是否存在导入错误?):没有名为设置的模块

apache - 如何获取apache使用的wsgi_mod版本?

javascript - python django - 使用解码的 base64 写入时图像为空白

django - 从 S3 提供 Django 的静态和媒体文件

mysql - JustHost Cpanel - MySQL 用户名/密码远程访问

php - 如何通过 cpanel/whm API 创建数据库?

python - 需要帮助识别涉及 matplotlib 和 Flask 的内存泄漏

python - 使用 Django Rest Framework 从模型序列化属性(getter 和 setter)的问题

python - 在 Django 表单中将昨天设置为初始日期