0

似乎所有的道路都导致不得不使用PyISAPIeDjango在 IIS6 上运行。这对我们来说是个问题,因为您似乎需要为每个 PyISAPIe/Django 实例设置单独的应用程序池,这是我们不希望这样做的。

有没有人有任何建议/指导,或者可以分享他们的经验(特别是在共享的 Windows 托管环境中)?

4

2 回答 2

3

无论您使用什么扩展,都需要单独的应用程序池。这是因为应用程序池将处理程序 DLL 拆分为不同的 w3wp.exe 进程实例。您可能想知道为什么这是必要的:

查看 Django 的模块设置:os.environ["DJANGO_SETTINGS_MODULE"]. 这就是进程的环境,因此如果您为一个 ISAPI 处理程序更改它,然后在同一个应用程序池中更改另一个处理程序,它们都指向新的DJANGO_SETTINGS_MODULE.

这没有任何有意义的理由,所以请随意说服 Django 开发人员他们不需要这样做 :)

有几种方法可以绕过它,但没有什么比单独的应用程序池更干净。

不幸的是,isapi-wsgi 无法解决 Django 问题,我建议您继续使用 PyISAPIe(免责声明:我是开发人员!;)

于 2009-05-29T17:56:49.223 回答
1

Django 在任何 WSGI 基础设施上都能很好地运行(很像任何其他现代 Python Web 应用程序框架),并且有多种方法可以在 IIS 上运行 WSGI,例如参见http://code.google.com/p/isapi-wsgi/

于 2009-05-13T09:05:52.657 回答