在win10 IIS上部署Django

系统及软件版本

  • Windows 10专业版
  • IIS 8.0
  • python3.5.4
  • Django 2.0.7

1. 可运行的django网站

首先确保自己的django网站在服务器上可以通过命令行 runserver 正常运行。 
请确保你的Django网站可以在服务器上单独运行哦!

2. IIS配置

启用IIS

  1. 在控制面板的程序和功能中,打开启用或关闭Windows功能窗口 
  2. 勾选Internet Information Services。 在win10 IIS上部署Django_第1张图片

3. Python安装wfastcgi模块

  1. 在python的Scripts目录下pip安装wfastcgi模块(我之前已经安装过了,所以截图提示不需再次安装) 
    python安装wfastcgi模块

4. 项目文件处理

  1. 在python的Lib\site-packages目录下,找到wfastcgi.py文件,并将其复制到你的django项目根目录下。 
     
    将这个文件复制到项目根目录

  2. 将项目文件放置到 C:\inetpub\wwwroot 目录下,方便管理,同时可以避免引起Windows Server的某些安全问题。 
    这里写图片描述

5. 配置网站

  1. 进入IIS管理器后,添加网站 
    这里写图片描述

  2. 填写相关参数 
    这里写图片描述

  3. 进入你建立的站点,选择处理程序映射。请注意,必须进入你指定的网站里面,再添加模块映射,否则,映射会添加到你所有的网站里。 
    这里写图片描述

  4. 添加模块映射。模块选择FastCgiModule,如果前面没有安装这个模块,请先安装哦。可执行文件对于本项目来说,实际上是必填的。此例中,C:\Anaconda3\python.exe|C:\inetpub\wwwroot\PowerX\wfastcgi.py。前面是python的路径,后面是wfastcgi.py文件的路径。实际上,如果wfastcgi.py文件路径直接引用python\Lib\site-packages目录下的文件也可以,不过就不可以部署多个Django网站了。 
    这里写图片描述

  5. 填写完参数后,选择请求控制,设置如图 
    这里写图片描述

  6. 确认添加后,程序映射添加成功 
    这里写图片描述

  7. 返回主页,进入FastCGI设置 
    这里写图片描述

  8. 选中新建的FastCGI应用程序,修改环境变量 
    这里写图片描述

  9. 需要添加的变量有3个:

    1. get_wsgi_application()方法的位置,C:\Anaconda3\Lib\site-packages\django\core\wsgi.py

      • Name: WSGI_HANDLER
      • Value: django.core.wsgi.get_wsgi_application()
    2. Django项目目录

      • Name: PYTHONPATH
      • Value: C:\inetpub\wwwroot\PowerX
    3. 项目settings.py文件的位置

      • Name: DJANGO_SETTINGS_MODULE
      • Value: powerx.settings(powerx是自己的项目名称)

 至此,一个不包含静态文件的Django站点部署完成

10. 配置静态文件,在项目目录调用python manage.py collectstaic命令将app下static中的静态文件全部拷贝到 settings.py 中设置的 STATIC_ROOT 文件夹中,运行命令前,先要在settings.py中配置STATIC_ROOT如下: 

           STATIC_ROOT = os.path.join(BASE_DIR, 'collected_static')

命令运行结束后在项目的具体app路径下的static文件夹(settings中STATIC_URL指定的目录),新建web.config文件,注意不要弄错目录,是app中存放静态文件的目录下

web.config内容如下:

   

     

     

     

       

   

     

   

11 、打开IIS管理器,选定该网站项目,右击选择添加虚拟路径

 

12、填写虚拟路径的别名和路径,别名一般为static,路径则是该网页app下的static文件夹,也就是刚才创建web.config的文件夹

 

13、重新运行一下IIS,应该就没有问题了

参考资料:

1、https://www.jianshu.com/p/57d7b662ed10

2、https://blog.csdn.net/qq_18075613/article/details/56970016

你可能感兴趣的:(Django)