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

误删Django站点Apache服务器虚拟环境后重启报错求助

解决mod_wsgi模块加载失败的问题

嘿,这个问题我之前帮朋友解决过!核心原因就是你新创建的虚拟环境里没装适配当前Python版本的mod_wsgi,而且旧的Apache配置还死死盯着原来被删掉的虚拟环境路径。按下面的步骤一步步来,很快就能搞定:

  • 第一步:激活新虚拟环境并安装匹配的mod_wsgi
    先切换到你的项目目录,激活刚创建的虚拟环境:

    source /www/site_name/venv/bin/activate
    

    一定要在虚拟环境内部安装mod_wsgi,这样才能生成和当前Python3.5完全兼容的模块文件:

    pip install mod_wsgi
    

    安装完成后,你可以验证一下目标文件是否存在:

    ls /www/site_name/venv/lib/python3.5/site-packages/mod_wsgi/server/
    

    如果能看到mod_wsgi-py35.cpython-35m-x86_64-linux-gnu.so这个文件,说明这一步没问题了。

  • 第二步:重新生成mod_wsgi-express的Apache配置
    旧的httpd.conf里的模块路径还是指向已删除的旧虚拟环境,必须重新生成配置来更新路径:
    先停止当前运行的服务:

    sudo /etc/mod_wsgi-express-80/apachectl stop
    

    然后用mod_wsgi-express重新生成适配新环境的配置(保持端口和服务器根目录和之前一致):

    sudo mod_wsgi-express setup-server --port 80 --server-root /etc/mod_wsgi-express-80
    

    这一步会自动覆盖旧的配置文件,把所有路径更新到新虚拟环境。

  • 第三步:重启Apache服务
    现在再尝试重启服务:

    sudo /etc/mod_wsgi-express-80/apachectl restart
    

    这次应该就能正常加载mod_wsgi模块,你的Django网站也能恢复运行了。

额外注意事项

如果你的新虚拟环境没有使用Python3.5(比如换成了更高版本),那原来配置里的模块文件名会不匹配。这种情况下要么换回Python3.5的虚拟环境,要么重新生成配置时让mod_wsgi自动适配新的Python版本即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:54:58