在IIS6上运行Django需要PyISAPIe吗?

0 投票
2 回答
1033 浏览
提问于 2025-04-15 11:33

看起来,要在IIS6上运行Django,大家都得用PyISAPIe。这对我们来说有点麻烦,因为每个PyISAPIe/Django实例都需要单独的应用池,这不是我们想要的。

有没有人能给点建议或者分享一下他们的经验(特别是在共享Windows主机环境下)?

2 个回答

1

Django在任何WSGI环境下都能很好地运行(就像其他现代的Python网页应用框架一样)。在IIS上运行WSGI有几种方法,比如可以查看这个链接:http://code.google.com/p/isapi-wsgi/

3

无论你使用什么扩展,都需要单独的应用程序池。这是因为应用程序池会把处理程序的DLL文件分开到不同的w3wp.exe进程中。你可能会想,为什么这样做是必要的:

看看Django的模块设置:os.environ["DJANGO_SETTINGS_MODULE"]。这代表了进程的环境,所以如果你为一个ISAPI处理程序更改了这个设置,然后在同一个应用程序池中又为另一个处理程序更改,它们都会指向新的DJANGO_SETTINGS_MODULE

其实这样做没有什么特别的理由,所以你可以试着说服Django的开发者,他们其实不需要这样做 :)

虽然有一些方法可以绕过这个问题,但没有什么比使用单独的应用程序池更简单有效。

不幸的是,isapi-wsgi并不能解决Django的问题,我建议你继续使用PyISAPIe(顺便说一下:我是开发者! ;)

撰写回答