Django部署Windows IIS遇404错误:配置路径等问题求助
Django部署IIS遇404错误的排查要点
1. FastCGI的PYTHONPATH环境变量验证
- 正确配置:PYTHONPATH需指向包含
manage.py的abcd目录,即My_App\abcd。这个路径是Django项目的根目录,能让Python正确识别项目内的模块(比如子abcd目录下的settings.py)。 - 额外确认:FastCGI的可执行文件必须选虚拟环境内的Python,即
My_App_Venv\Scripts\python.exe,避免调用全局Python导致依赖缺失。
2. IIS网站物理路径选择
- 唯一正确路径:
My_App\abcd(也就是manage.py所在的目录)。 - 错误路径示例:不能选上级的
My_App,也不能选子级的abcd(内含settings.py的那个目录),否则IIS无法正确匹配路由和静态文件。
3. 映射模块配置检查
脚本映射(Handler Mappings)
- 必须添加针对
*的FastCGI映射,可执行文件路径格式为:
(竖线分隔Python可执行文件和wfastcgi.py路径,wfastcgi.py通常在虚拟环境的site-packages目录)My_App_Venv\Scripts\python.exe|My_App_Venv\Lib\site-packages\wfastcgi.py - 需在FastCGI应用的环境变量中添加
DJANGO_SETTINGS_MODULE,值设为abcd.settings(对应子abcd目录下的配置文件)。 - 静态文件配置:确保已执行
python manage.py collectstatic,并在IIS中配置静态文件处理程序,或在web.config中添加静态路由规则,让IIS直接返回静态资源。
应用池配置
- 应用池的.NET CLR版本必须设为无托管代码,因为Django是Python应用,不需要.NET运行时。
- 应用池身份需拥有
My_App目录的读写权限,建议使用本地系统账户或具备对应权限的专用账户。
内容的提问来源于stack exchange,提问作者TourEiffel
相关产品推荐
相关产品推荐

