安装Windows的IIS 功能
(1)进入控制面板 :选择大图标 进入程序和功能
(2)启用或者关闭Windows功能
(3)按照如下勾选需要安装的程序
(4)控制面板-管理工具-双击打开 Internet信息服务(IIS)管理器
安装 wfastcgi
(1)打开管理员命令行(cmd)使用命令 pip3 install wfastcgi
(2)先将项目 复制到 C:inetpubwwwroot 目录下 (避免权限问题导致项目部署失败)
(3)将wfastcgi.py复制到app目录下
开始部署项目
(1)打开Internet信息服务(IIS)管理器
(2)添加网站
右键网站 - 添加网站:
网站名称自己填
物理路径选择项目的文件夹
端口号填一个没有被占用的端口即可
主机名不填
(3)选中添加的网站 打开处理程序映射
(4)右边选择添加模块映射
请求路径填 “*”
模块选择 FastCgiModule
可执行文件:“python解释器的路径”|wfastcgi.py文件的路径
如:D:Python37python3.exe| C:inetpubwwwrootversionSiteversionwfastcgi.py
点击请求限制,取消勾选,确定
(5)添加环境变量
先进入主机的主页>>FastCGI设置
双击你添加的网站的路径>>点击箭头指的地方
添加三个变量
1. get_wsgi_application()方法的位置,
Name: WSGI_HANDLER
Value: django.core.wsgi.get_wsgi_application()
2.Django项目目录
Name: PYTHONPATH
Value: C:inetpubwwwrootversionSite (此处项目所在路径)
3.项目settings.py文件的位置
Name: DJANGO_SETTINGS_MODULE
Value: mysite.settings(mysite是自己的app名称)
静态文件配置
如果项目包含静态文件,则需要配置静态文件
(1)在项目目录调用python manage.py collectstaic命令(如之前的运行runserver方法一致)将项目中所有静态文件全部拷贝到 settings.py 中设置的 STATIC_ROOT 文件夹中
(2)在 STATIC_ROOT所指向的静态资源目录下 ,新建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>
(3)最后进入IIS管理器
你添加的网站>>右键菜单>>添加虚拟目录
名称:一般使用static
路径:选择web.config所在的目录
Admin后台样式丢失解决
找回丢失的CSS样式:
打开项目/settings.py 添加如下内容:
STATIC_ROOT = os.path.join(BASE_DIR, "static")
命令行cd到项目根目录,运行:
python manage.py collectstatic
Admin后台管理所需要的CSS样式就会复制到指定目录下(STATIC_ROOT)
项目部署后,本机可访问,局域网内其他电脑不能访问问题解决
1)打开【控制面板】,选择【WINDOWS 防火墙】,进入。
2)在Windows防火墙界面,选择左侧边栏的【高级设置】;
3)在弹出的高级安全Windows防火墙界面中,选择左侧边栏的【入站规则】,然后在右侧边栏选择【新建规则】;
4)在新建入站规则向导对话框中:
1.规则类型:选择【端口】,下一步;
2.协议和端口:选择【TCP】以及【特定本地端口】,填入要开放的端口号(或开放所有端口),下一步;
3.操作:【允许连接】,下一步;
4.配置文件:全部勾选,下一步;
5.名称:【名称】中填入IIS,【完成】
下面是建好的规则: