如何设置Django与IIS 8?

我曾尝试在Windows 8开发人员预览版的IIS 8下运行Django。 现在Windows 8的Consumer Preview已经不存在了,我想知道是否可以在IIS中获得有关设置Django的详细说明。

我怎么去做这个过程 – 我几乎不知道从哪里开始。 我需要一个特定的ISAPI模块吗?

这个过程不是微不足道的,但可以使用以下步骤:

  1. 首先,下载并安装Python 2.6 。 (我build议Python 2.6而不是Python 2.7的原因是因为PyISAPIe模块支持的最新Python版本是Python 2.6)。记下你安装Python的位置(如果我没有记错,默认情况下默认是C:\Python26 )。

  2. 用鼠标右键单击计算机并单击属性。 点击左边的高级系统设置。

    在这里输入图像描述

  3. 单击高级选项卡,然后单击环境variablesbutton。 在下部列表框中findpath:

    在这里输入图像描述

  4. 单击“编辑…”button并转到最后一个variables值并插入;C:\Python26 (分号加上您安装的Python的path):

    在这里输入图像描述

  5. 点击确定closures所有的对话框。

  6. 接下来,在这里下载最新版本的PyISAPIe。 提取存档的内容并打开目录。

  7. 接下来,打开控制面板,单击程序和function,然后单击左侧的“打开或closuresWindowsfunction”。

    在这里输入图像描述

  8. 浏览到Internet信息服务 – >万维网服务 – >应用程序开发function,然后确保选中ISAPI扩展。

    在这里输入图像描述

  9. 应用更改,然后打开IISpipe理器。 双击处理程序映射图标。

    在这里输入图像描述

  10. 点击右侧的添加模块映射。 在出现的对话框中,input以下信息:

    • 请求path: *
    • 模块: IsapiModule
    • 可执行文件(可选): [浏览到提取PyISAPIe的path并selectPyISAPIe.dll ]
    • 名称: Python通过PyISAPIe

    它应该看起来像这样:

    在这里输入图像描述

  11. 在closures对话框之前,单击“请求限制”,取消选中“仅在请求映射到时调用处理程序”,然后单击“确定”。 也单击确定closures添加模块映射对话框(如果询问您是否要将具有允许条目的扩展添加到ISAPI和CGI限制列表中,单击是。

    在这里输入图像描述

  12. 下一步是下载Django 。 提取归档文件的内容(注意位置)。 打开一个命令提示符(可以通过按Win + R键 ,inputcmd并按Enter键来执行此操作),然后键入cd然后键入cd提取Django的位置:

    在这里输入图像描述

  13. Enter ,键入cd dj ,然后按Tab 。 这应该完成Django文件夹的path,您可以按Enter键打开目录。 现在inputpython setup.py install

    在这里输入图像描述

  14. 现在你需要创buildDjango项目。 例如,我们将在C:\Django下创build项目。 在命令窗口中,input以下命令,然后按Enter键

    • cd C:\
    • mkdir Django
    • cd Django
    • python C:\Python26\Lib\site-packages\django\bin\django-admin.py startproject test

    这会创build一个名为“test”的项目。

  15. 一旦进程成功完成,最后剩下的任务是将PyISAPIe连接到Django。 为此,返回到您提取PyISAPIe的目录并查找Http目录。 里面是一个文件Isapi.py 。 在文本编辑器中打开它,并用以下内容replace内容:

     from django.core.handlers.wsgi import WSGIHandler as DjangoHandler from Http.WSGI import RunWSGI from Http import Env import os, sys sys.path.append('C:\Django') os.environ['DJANGO_SETTINGS_MODULE'] = 'test.settings' def Request(): PathInfo = Env.PATH_INFO if not PathInfo.startswith('/'): return True for Excl in ['/media']: if PathInfo.startswith(Excl): return True return RunWSGI(DjangoHandler(), Base='/') 
  16. 将Http目录复制到C:\Python26\Lib\site-packages (或者如果您在其他地方安装了Python,则为相应的目录)。

  17. 重新启动IIS(可以通过单击IISpipe理器右侧的“重新启动”来完成):

    在这里输入图像描述

  18. 如果一切正常,你应该可以去http:// localhost来查看你的新的Django站点:

    在这里输入图像描述


进一步的注释和补充

  • 我自从编译Python 2.7的PyISAPIe(包括32位和64位)并上传文件: http : //www.box.com/s/a5fb1b21fcdf738d2590

  • 在步骤#6中,您需要确保pyisapie.dll位于IIS至less具有读取权限的目录中。 没有考虑到这一点会导致奇怪的错误。

你可以在这篇博文中find详细的指导如何在IIS8上安装Django:

在IIS上安装Django:一步一步的教程

总之这些步骤需要完成:

  • 在Windows上安装Python
  • 安装Django
  • 安装一个Django项目
  • 运行testingHTTP服务器
  • configuration和运行FastCGI服务器
  • configurationIIS以运行FastCGI应用程序
  • configuration静态资源和媒体目录
  • 有关数据库的注释(关于某些数据库兼容驱动程序的注释)
  • 故障排除(有关如何排除故障的说明)

希望有所帮助!

另一个select是使用django-windows-tools,虽然它在几年内还没有更新。 它只是在IIS中为你设置FastCGI模块,所以你不必担心使用PyISAPIe。

https://github.com/antoinemartin/django-windows-tools