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

Apache+mod_wsgi部署Django遇500内部服务器错误求助

解决Django + Apache + mod_wsgi部署的ModuleNotFoundError问题

1. 修正wsgi.py的路径配置

确保wsgi.py正确将项目根目录加入Python路径,示例配置如下:

import os
import sys

# 替换为你的实际项目根目录路径,用正斜杠或双反斜杠
sys.path.append('C:/your/project/root/path')
# 若gis_api在项目根目录的上级目录,需额外添加该路径
# sys.path.append('C:/parent/directory/of/project')

from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'your_project_name.settings')

application = get_wsgi_application()

2. 调整httpd.conf的核心配置

重点确保Python环境与项目路径关联正确,示例配置:

# 加载mod_wsgi模块,替换为你的实际模块路径
LoadModule wsgi_module "C:/path/to/mod_wsgi-4.9.4/pythonX/mod_wsgi.pyd"

# 指定与开发环境一致的Python解释器
WSGIPythonHome "C:/path/to/your/python/env"
# 同时添加项目根目录和Python包目录到路径
WSGIPythonPath "C:/your/project/root/path;C:/path/to/your/python/env/Lib/site-packages"

# 绑定WSGI脚本入口
WSGIScriptAlias / "C:/your/project/root/path/your_project_name/wsgi.py"

# 配置项目目录访问权限
<Directory "C:/your/project/root/path/your_project_name">
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>

# 静态文件配置(按需添加)
Alias /static/ "C:/your/project/root/path/static/"
<Directory "C:/your/project/root/path/static/">
    Require all granted
</Directory>

3. 确认项目结构合规

你的项目需符合标准结构,且gis_api需被识别为Python模块:

project_root/
├── your_project_name/
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── gis_api/
│   ├── __init__.py  # 必须存在,空文件即可
│   ├── admin.py
│   ├── apps.py
│   └── views.py
├── manage.py
└── static/

4. 修复Apache权限问题

Windows下Apache默认用系统账户运行,需给项目根目录添加权限:
右键项目目录 → 属性 → 安全 → 添加账户NT SERVICE\Apache2.4,授予读取和执行权限。

5. 调试路径问题

可在wsgi.py中添加调试代码,输出当前Python路径辅助排查:

import os
import sys

# 输出路径到Apache错误日志
print("Current Python Path:", sys.path)

# 原有wsgi代码...

重启Apache后查看error.log,确认项目根目录是否在输出路径中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 19:40:35