[Django部署]IIS+wfastcgi部署Django网站

测试环境

系统 IIS版本 Python版本 Django版本
Windows Server 2008 R2 Enterprise 6.0 3.7.3 2.2

环境准备

  • IIS安装

    • 服务器管理器 > Web服务器(IIS)
      在这里插入图片描述
    • Web服务器(IIS) > 添加角色服务 > CGI
      在这里插入图片描述
  • Python环境安装

    • 导出开发环境安装的模块

      pip freeze > requirements.txt

    • 安装Python3.7.3
    • 拷贝项目源码到服务器磁盘,例:D:\IIS-Site\SCSDN
    • 创建Python虚拟环境
      • 安装虚拟环境创建工具
        1. pip install virtualenv
        2. 在项目根目录创建虚拟环境目录virtualenv venv,虚拟环境解释器为默认解释器,
          可以用virtualenv -p D:\Program Files\python3.7.3 venv进行指定;
        3. 激活虚拟环境 venv\Scripts\activate
        4. 安装所需模块pip install -r requirements.txt

网站部署

  • 添加IIS站点
    在这里插入图片描述

  • [重要]:站点域名或IP加入到settings.ALLOWED_HOSTS
    ALLOWED_HOSTS = ['127.0.0.1','localhost']

  • 选中刚刚创建的网站 > 处理程序映射 > 添加模块映射

    1如图填写;2为FastCgiModule;3Python解释器及其调用的wfastcgi.py文件路径。4任意名称
    在这里插入图片描述

  • IIS根 > FastCGI 设置 > 添加应用程序

    一般情况下完成上一步会出现如下图所示,直接双击
    在这里插入图片描述
    如果没有如下图进行设置:
    在这里插入图片描述

    • 双击后设置环境变量

      WSGI_HANDLER=django.core.wsgi.get_wsgi_application()
      PYTHONPATH=D:\IIS-Site\SCSDN --> 设置成你的项目根路径
      DJANGO_SETTINGS_MODULE=SCSDN.settings --> 你的settings.py相对根目录的路径
      在这里插入图片描述

静态文件配置

  • 生成生产模式下静态文件目录
    python mange.py collectstatic

  • 右击新建的站点 > 添加虚拟目录

1settings.STATIC_URL设置名称
2 为项目静态文件路径
在这里插入图片描述

  • 在静态文件目录下添加web.config配置文件
   	 <?xml version="1.0" encoding="UTF-8"?>
       	<configuration>
         		<system.webServer>
         		<!-- this configuration overrides the FastCGI handler to let IIS serve the static files -->
         		<handlers>
           		<clear/>
      				<add name="StaticFile" path="*" verb="*" modules="StaticFileModule" resourceType="File" requireAccess="Read" />
        		</handlers>
      		</system.webServer>
   	</configuration>

或者也可以通过站点 > 处理程序映射 > 添加模块映射配置StaticFileModule
在这里插入图片描述

其他设置

  • 如果绑定了域名需要进行域名解析
  • 需要开放绑定端口
  • 如果站点有对本地文件进行读写需要添加对应目录的操作权限,具体操作如下:

    右键IIS站点 > 编辑权限 > 安全 > 编辑相关用户权限

完成上边操作后,网站即可正常访问了,下方是我示例网站的截图
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_39974140/article/details/91047846