WINDOWS SERVER2008 R2上部署Django

2016年05月23日 转载
关键词: django
摘要 Django在windows IIS上的部署一直以来都是个大麻烦,博主是忠实的linux服务器使用者,然而由于种种原因接触了windows server iis服务器,并且要在上面部署Django项目。花了近3天的时间查找资料和实践,最后总算是成功部署了Django项目。

参考:https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-python-django-web-app-windows-server/#creating-and-configuring-an-azure-virtual-machine-to-host-django

  • python2.7,并加入path环境变量。
  • django,MySQL-python,django-ckeditor,Pillow(django-ckeditor上传图像需要),wfactcgi。(使用pip install xxx来安装)
  • 中输入:

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

  • 解锁handler,使得python handler可以运行
  • 启用wfastcgi
  • django项目manage.py同级目录创建一个web.config文件,内容为
  •  
  •  

<add key="WSGI_HANDLER" value="django.core.handlers.wsgi.WSGIHandler()" />

<add key="PYTHONPATH" value="C:\inetpub\wwwroot\helloworld" />

<add key="DJANGO_SETTINGS_MODULE" value="helloworld.settings" />

  •  
  •  
  •  

<add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="C:\Python27\python.exe|C:\Python27\Lib\site-packages\wfastcgi.pyc" resourceType="Unspecified" />

  •  
  •  
  •  
  • scriptProcessor的值是第二步中输出的wfastcgi.py的路径
  • 中输入:

%windir%\system32\inetsrv\appcmd set vdir "Default Web Site/" -physicalPath:"C:\inetpub\wwwroot\helloworld"

  • URL和项目路径的映射
  • vdir 部分为 vdir “Default Web Site/yourdir/”即可
  • django项目的wsgi.py所在目录。复制wsgi.py里的内容到__init__.py里。

import os

 

from django.core.wsgi import get_wsgi_application

 

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "yourprojectname.settings")

 

application = get_wsgi_application()

  • django项目可能还需要相应修改。