系统环境:windows server 2019

django环境:python 3.9 django 3.2.7

安装IIS

  1. 打开服务器管理仪表板,点击添加角色功能 image-20210926101027686

  2. 在添加角色向导中选择服务器选择,下一步 image-20210926101909966

  3. 选中 Web服务器(IIS),弹出界面,点击添加,一直点击下一步 ,直到出现安装,点击安装,image-20210926102150635

    image-20210926102631881

  4. 等待IIS安装完成后关闭

安装CGL

1.找到之前安装的IIS image-20210926103900467
2. 点开web服务器
image-20210926104106410
3. 点开应用程序开发,选中CGL,随后一直到下一步,直到安装
image-20210926104246250> 在这里插入图片描述
安装成功后,测试CGL,在浏览器打开 127.0.0.1,出现如下界面即可在这里插入图片描述

安装python

下载python

  1. 浏览器下载,python官网
  2. cmd下载
    下面命令下载到当前目录
certutil.exe -urlcache -split -f 复制好的python下载链接

安装python

  1. 双击下载后的python安装包,选中添加到路径后点击 install now 在这里插入图片描述
  2. 出现如下界面安装成功,点击close 在这里插入图片描述
  3. 验证安装
    打开cmd 输入python 出现如下界面则安装成功
    在这里插入图片描述

安装python 服务程序环境

安装程序环境

在存在包文件地址栏输入cmd,打开cmd
在这里插入图片描述
输入安装命令,等待安装完毕

pip install -i  https://pypi.doubanio.com/simple/ -r plist.txt

安装服务

本来我准备使用uwsgi的,结果发现windows无法使用uwsgi,找了好久发现windows可以用wfastcgi代替
安装wfastcgi

pip install -i https://pypi.doubanio.com/simple/ wfastcgi

安装好后启动服务

wfastcgi-enable

如下图,启动后会给出Python路径和wfastcgi的路径显示出来,我们需要把这个路径复制出来,保存好,后边用得着。在这里插入图片描述

到这里环境已经配置完毕,下面开始配置django

django 配置

  1. 将django文件项目上传到服务器后解压到工作目录(IIS 默认工作目录是 C:\inetpub\wwwroot)
  2. 在项目根目录里新建一个web.config配置文件,放入以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <modules>
            <remove name="WebDAVModule"/>
        </modules>
        <handlers>
            <remove name="WebDAV"/>
            <add name="Python FastCGI"
                 path="*"
                 verb="*"
                 modules="FastCgiModule"
                 scriptProcessor="*"
                 resourceType="Unspecified"
                 requireAccess="Script"/>
        </handlers>
    </system.webServer>
    <appSettings>
        <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()"/>
        <add key="PYTHONPATH" value="*"/>
        <add key="DJANGO_SETTINGS_MODULE" value="*"/>
    </appSettings>
</configuration>

注:scriptProcessor 后的参数是我们启动wfastcgi复制下的地址.
注:PYTHONPATH 的 value是我们项目的地址 如 C:\www\server
注:DJANGO_SETTINGS_MODULE 的 value 是我们项目的中的sttings所在,如server.settings

ISS部署django

  1. 在服务器管理器仪表盘中找到工具→IIS管理器,打开
    在这里插入图片描述
  2. 停止,删除IIS默认网站服务
    在这里插入图片描述 在这里插入图片描述
  3. 添加已经解压的django服务

选中网站→添加网站→填写信息

流程如下图,网站名称随意填写,物理路径一定要选正确
在这里插入图片描述
在这里插入图片描述
按照上面填写正确后点击确定
4. 修改应用程序池熟悉

点击应用程序池→选中服务→高级设置
在这里插入图片描述
找到进程模型→标识后双击后面的ApplicationPoolIdentity 将其改为LocalSystem后点确定
在这里插入图片描述

  1. 重启服务,浏览网页,看django是否正常运行
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

全文到这里就结束了,实话说这个IIS代理django的帖子是真心多,可是没有一个是全的,心累,踩了不少坑,一天折腾下来就做了一件事儿.喜欢,有用点个收藏.如果对你没有用请留言遇到的问题,
原创不易,转载请注明出处.
注:我的django关闭了debug,切没有跟路径的url配置,所以报错.到这一步了,django IIS部署已经完成了,其实该有一个IIS代理的静态设置,可是那玩意儿比nginx麻烦多了就不做了.静态文件我都走nginx代理了

修改一下吧

忽然发现静态文件走这个还是挺香,只需要做下面两步就好
1.添加虚拟路径
在这里插入图片描述
在这里插入图片描述
2. 在静态文件夹下创建文件 web.config
在这里插入图片描述
文件中写如下代码

<?xml version="1.0" encoding="UTF-8"?>
   <configuration>
         <system.webServer>
         	<handlers>
         		<clear/>
         		<add name="StaticFile" path="*" verb="*" modules="StaticFileModule" resourceType="File" requireAccess="Read" />
        	 	</handlers>
         </system.webServer>
</configuration>      

做完以上重启服务器就好了

我发现有小伙伴说按我的教程做了以后会有500.19报错,如下

HTTP 错误 500.19 - Internal Server Error

在这里插入图片描述
如果出现这种情况,用管理员权限在cmd中运行下面端口就可以了

%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers
%windir%\system32\inetsrv\appcmd unlock config -section:system.webServer/modules

在这里插入图片描述
不要再powershell中运行哦,会报错

在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐