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

使用虚拟环境部署Django至Apache(Ubuntu)时出现内部服务器错误

Django虚拟环境部署Apache2 Internal Server Error 排查方案

1. 修复WSGIDaemonProcess路径配置

你的WSGIDaemonProcess仅指定了虚拟环境的site-packages路径,缺少项目根目录,导致Django无法加载项目模块。修改为:

WSGIDaemonProcess mysite processes=2 threads=25 python-path=/var/www/mysite:/var/www/mysite/venv/lib/python3.10/site-packages

同时确认mod_wsgi编译使用的Python版本与虚拟环境Python3.10一致,执行mod_wsgi-express module-config查看版本,若不匹配需重新编译mod_wsgi适配虚拟环境Python。

2. 修复静态/媒体文件Alias冲突

你配置了两个重复的Alias /static/,第二个会覆盖第一个,导致媒体文件路径错误。修改为:

Alias /robots.txt /var/www/mysite/static/robots.txt
Alias /favicon.ico /var/www/mysite/static/favicon.ico
Alias /static/ /var/www/mysite/static/
Alias /media/ /var/www/mysite/media/

3. 修复文件权限问题

确保Apache运行用户www-data对项目目录和虚拟环境拥有读取权限:

sudo chown -R www-data:www-data /var/www/mysite
sudo chmod -R 755 /var/www/mysite

4. 查看具体错误日志定位根源

直接查看错误日志获取详细报错信息:

sudo tail -f /var/log/apache2/mysite-error.log

常见问题包括:

  • Django模块找不到(路径配置错误)
  • 虚拟环境Python与mod_wsgi版本不兼容
  • 静态/媒体文件权限不足
  • Django项目配置错误(如DEBUG=False但ALLOWED_HOSTS未添加服务器IP)

5. 重启Apache生效配置

修改完成后重启服务:

sudo systemctl restart apache2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 22:40:32