Windows + iis + python + django

Windows + iis + python + django

1、 先下载iis

官网地址: https://www.iis.net/downloads

下载后安装iis

2、控制面板、 程序、 启动或关闭windows功能

 

 

 把CGI勾上后

3、 运行控制面板、系统和安全、管理工具、internet information service

 

 

 如果觉得麻烦可以把这个快捷方式复制到桌面

4、 点开网站、default web site、管理网站、启动

 

 

 5、 访问下面这个地址看到这个界面就说名安装成功了

http://127.0.0.1/

 

 

 6、 安装python

官网地址: https://www.python.org/downloads/

配置环境变量这里我就不多说了。

7、 创建一个django程序

下载依赖包

pip install -r requirements.txt

首先确保自己的django网站在服务器上可以通过命令行 runserver 正常运行。

8、 安装wfastcgi

在Windows下,我们没法使用uwsgi,但我们可以使用wfastcgi替代它,打开CMD窗口,输入命令安装wfastcgi:

pip install wfastcgi

安装成功之后,通过下面命令启动它:

wfastcgi-enable

 

 

 如上图,启动成功之后,它会把Python路径和wfastcgi的路径显示出来,我们需要把这个路径复制出来,保存好,后边用得着

D:\python3.6\python3.6.exe|D:\python3.6\lib\site-packages\wfastcgi.py

9、 在IIS里添加项目网站

 

 

 10、 在项目根目录里新建一个web.config配置文件,放入以下内容:

<?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <handlers>
                <add name="Python FastCGI"
                     path="*"
                     verb="*"
                     modules="FastCgiModule"
                     scriptProcessor="<Path to Python>\python.exe|<Path to Python>\lib\site-packages\wfastcgi.py"
                     resourceType="Unspecified"
                     requireAccess="Script"/>
            </handlers>
            <modules runAllManagedModulesForAllRequests="true">
              <remove name="WebDAVModule"/>
            </modules>
        </system.webServer>
        <appSettings>
            <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" />
            <add key="PYTHONPATH" value="<Path to Django App>" />
            <add key="DJANGO_SETTINGS_MODULE" value="<Django App>.settings" />
        </appSettings>
    </configuration>

 

 

 

留意:这里面我标记的三个地方,我们需要修改。1、替换为我们之前我们启动wfastcgi时复制的python和wfastcgi的路径。2、填写我们的项目路径。3、填写settings.py的位置。<django App>修改成我们的settings.py所在目录的目录名即可。

 

 

 

 11、 查看映射

 

 上面的可执行文件是 wfastcgi-enable 输出的python和wfastcgi的路径

12、 填好后点击请求限制, 把仅当前请求映射以下内容这个勾去掉

 

 此时多了一个刚刚映射的模块

 

 

 

 

16、 编辑网站的权限

 

17、 设置成完全控制

 

 

 

 

18、 这个时候访问http://127.0.0.1:8000/

会出来一个没有样式的 Django项目

如果端口配置的是80要先把Def Web Site这个先停掉

19、 配置静态文件

 

 

 路径是static路径

 

 

20、 在static里新建一个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>

21、 重启IIS,访问网站,前端就能正常显示。

http://127.0.0.1:8000/

这个时候应该就能看到样式了

22、 管理后台样式丢失问题

在settings.py里添加STATIC_ROOT配置指定收集路径如:

#指定样式收集目录,路径一般为项目里的static文件夹
STATIC_ROOT  = os.path.join(BASE_DIR, 'static')
#
STATIC_ROOT = 'C:\python\mysite\static'

然后项目根目录下CMD运行如下面命令,进行样式采集:

python manage.py collectstatic

23、支持 put 请求

        <system.webServer>
            <modules runAllManagedModulesForAllRequests="true">
              <remove name="WebDAVModule"/>
            </modules>
        </system.webServer>

 

采集完成之后,刷新页面。后台样式成功显示。至此,部署结束。

如果各位读者在部署的时候,出现什么问题,可以在文章后面留言。

 

对了,该部署要用windows部署

 

posted @ 2020-12-05 14:51  陨落&新生  阅读(502)  评论(0)    收藏  举报