You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署Django应用至Apache2出现403 Forbidden及mod_wsgi权限拒绝错误

Django+Apache部署403禁止访问错误修复方案

核心错误定位

你日志中两个关键报错直接指向问题根源:

(13)Permission denied: mod_wsgi (pid=35891): Unable to stat Python home /home/hbm/hbm_project/venv.
ModuleNotFoundError: No module named 'encodings'
问题出在两处:Apache运行用户无虚拟环境目录访问权限、现有WSGI配置存在语法截断。

修复步骤

  • 修复WSGI配置语法错误
    你当前hbm_project.conf中的WSGIDaemonProcess行内容被截断,且没有指定运行进程的用户组,替换该行内容为:

    WSGIDaemonProcess hbm_app python-home=/home/hbm/hbm_project/venv python-path=/home/hbm/hbm_project user=hbm group=hbm
    

    配置指定用你项目所属的hbm用户运行WSGI进程,从根源避免跨用户权限问题。

  • 修正目录访问权限
    执行以下命令确保路径可被正常访问:

    # 允许其他用户遍历你的home目录
    chmod o+x /home/hbm
    # 确认项目及虚拟环境归属正确用户
    chown -R hbm:hbm /home/hbm/hbm_project
    # 给虚拟环境授予必要的读、执行权限
    chmod -R 755 /home/hbm/hbm_project/venv
    
  • 校验mod_wsgi版本匹配
    若执行上述操作后仍报错,说明你安装的mod_wsgi版本和虚拟环境的Python3.9版本不匹配,执行命令重装匹配版本:

    apt remove -y libapache2-mod-wsgi*
    apt install -y libapache2-mod-wsgi-py3
    a2enmod wsgi
    
  • 重启Apache生效配置

    systemctl restart apache2
    

内容的提问来源于stack exchange,提问作者PatrickPel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 05:15:02