windows下在iis部署django项目

2022-08-05 20:11:05 浏览数 (1)

系统及软件版本

  • Windows Server 2012 Standard
  • IIS 8.0
  • Anaconda3 4.0.0 64位 (搭载python3.5.1)
  • Django 2.1.1

1. 可运行的django网站

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

2. IIS配置

添加角色与功能

  1. 在服务器管理器中,添加角色与功能 
  1. 添加角色与功能,其中CGI组件必须安装。 

3. Python安装wfastcgi模块

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

4. 项目文件处理

  1. 在python的Libsite-packages目录下,找到wfastcgi.py文件,并将其复制到你的django项目根目录下。 
  1. 将项目文件放置到 C:inetpubwwwroot 目录下,方便管理,同时可以避免引起Windows Server的某些安全问题。 

5. 配置网站

  1. 进入IIS管理器后,添加网站 
  1. 填写相关参数 
  1. 进入你建立的站点,选择处理程序映射。请注意,必须进入你指定的网站里面,再添加模块映射,否则,映射会添加到你所有的网站里。 
  1. 添加模块映射。模块选择FastCgiModule, 如果前面没有安装这个模块,请先安装哦。(在第2大步骤已安装) 可执行文件对于本项目来说,实际上是必填的。此例中,C:Anaconda3python.exe|C:inetpubwwwrootPowerXwfastcgi.py。 (如果是带空格的,需要添加双引号,python.exe路径 | 项目路径wfastcgi.py) 前面是python的路径,后面是wfastcgi.py文件的路径。实际上,如果wfastcgi.py文件路径直接引用pythonLibsite-packages目录下的文件也可以,不过就不可以部署多个Django网站了。 
  1. 填写完参数后,选择请求控制,设置如图 (取消复选框)
  1. 确认添加后,程序映射添加成功 
  1. 返回主页,进入FastCGI设置 
  1. 选中新建的FastCGI应用程序,修改环境变量 
  1. 需要添加的变量有3个: Name: DJANGO_SETTINGS_MODULE Value: powerx.settings    (项目名的settings) Name: PYTHONPATH Value: C:inetpubwwwrootPowerX   (项目路径) Name: WSGI_HANDLER Value: django.core.wsgi.get_wsgi_application()
    1. get_wsgi_application()方法的位置,C:Anaconda3Libsite-packagesdjangocorewsgi.py
    2. Django项目目录
    3. 项目settings.py文件的位置

    至此,一个不带static静态文件的Django项目就可以在服务器上运行啦!!! 如果你看到页面没有css样式了,应该是找不到静态文件, 那就在url.py中写入

代码语言:javascript复制
from django.views.static import serve
urlpatterns = [
    # url(r'^static/(?P<path>.*)$', serve, {'document_root': STATIC_ROOT, }),
    url(r'^static/(?P<path>.*)$', django.views.static.serve, {'document_root': STATIC_ROOT, }),
    ]

0 人点赞