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

如何在IIS服务器部署Django CMS?解决settings文件缺失问题

Django CMS 部署到 IIS(wfastcgi 方案)

1. 解决「找不到 settings 文件」的问题

你提到的.settings是误解——Django的核心配置文件是settings.py,默认位于项目根目录的同名子文件夹中。比如你用djangocms startproject mysite创建项目,路径是mysite/mysite/settings.py。

配置DJANGO_SETTINGS_MODULE时,值应为[项目名].settings(比如mysite.settings),对应这个文件的Python模块路径。


2. 完整部署步骤

2.1 服务器端项目准备

  • 将本地运行正常的Django CMS项目复制到IIS服务器的目录(比如C:\inetpub\wwwroot\djangocms_proj)。
  • 激活项目的虚拟环境,执行pip install -r requirements.txt同步所有依赖(包括Django、Django CMS、wfastcgi)。
  • 运行数据库迁移:python manage.py migrate
  • 在settings.py中配置STATIC_ROOT(比如STATIC_ROOT = BASE_DIR / 'staticfiles'),然后执行python manage.py collectstatic收集静态资源。

2.2 IIS 站点基础配置

  • 打开IIS管理器,新建网站:
    • 设置站点名称,物理路径选项目根目录(不是子文件夹)
    • 绑定域名/IP与端口
    • 关联的应用程序池设置为无托管代码(关键,避免.NET托管冲突)

2.3 配置 FastCGI 映射

  • 进入站点的「处理程序映射」,点击「添加模块映射」:
    • 请求路径:*
    • 模块:选择FastCgiModule
    • 可执行文件:填写虚拟环境python.exe和wfastcgi.py的组合路径,格式为:
      C:\path\to\venv\Scripts\python.exe|C:\path\to\venv\Lib\site-packages\wfastcgi.py
      
    • 名称:自定义(比如Django CMS FastCGI)
  • 点击「请求限制」,取消勾选「仅当请求映射到下列内容时才调用处理程序」,确认保存。

2.4 配置 FastCGI 环境变量

  • 进入站点的「配置编辑器」,选择system.webServer/fastCgi,找到刚添加的FastCGI条目,点击「编辑」:
    • 添加以下三个环境变量:
      1. DJANGO_SETTINGS_MODULE:值为[项目名].settings(比如mysite.settings)
      2. PYTHONPATH:值为项目根目录的绝对路径(比如C:\inetpub\wwwroot\djangocms_proj)
      3. WSGI_HANDLER:值为django.core.wsgi.get_wsgi_application()

2.5 权限配置

  • 给项目根目录添加IIS应用程序池用户(格式为IIS AppPool\[你的应用程序池名称])的读取、执行权限。
  • 确保虚拟环境的Scripts和Lib目录也有相同权限。

3. 测试与排错

  • 重启IIS站点,访问绑定的地址,检查页面是否正常加载。
  • 若出现500错误:
    • 开启IIS的详细错误页,查看具体报错信息
    • 检查settings.py中的ALLOWED_HOSTS是否包含服务器的域名/IP(比如ALLOWED_HOSTS = ['your-domain.com', '192.168.1.100'])
    • 查看Windows事件日志的「应用程序」分类,定位权限或依赖问题

内容的提问来源于stack exchange,提问作者Frank Myat Thu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 03:50:37