Search code examples
pythondjangoiis-7python-3.xfastcgi

How Deploy Django App IIS


I am having trouble deploying a simple Django web app to IIS 7 on Windows Server 2008. The app uses Django 1.5 and Python 3.3.

The hang-up seems to be that IIS 7 uses the fcgi (FastCGI) protocol to communicate with web applications and this protocol is not natively supported in Python. All the third party libraries I have tried so far have not worked with Python 3.3. They are:

  • flup
  • flup-py3.0
  • django-windows-tools
  • PyISAPIe

The Django documentation goes through many of the options above but they are all outdated. What is the best way to deploy this app? Should I try to install Apache on Windows Server 2008 so I can use mod_wsgi? Or is there someway to make it work using regular cgi on IIS? If so, how?


Solution

  • Getting django running on IIS is a headache, so if you are going to go that route I would definitely recommend using python 2.7 which is much better supported than 3.x at the current time.

    Here is a somewhat recent tutorial detailing pyISAPIe install on python 2.7, it should be compatible with python 2.7.3 and the latest version of django. http://blog.wolfplusplus.com/?p=272

    If you want to stick with python 3.x on windows then using Apache with mod_wsgi is your best bet. http://code.google.com/p/modwsgi/wiki/InstallationOnWindows