似乎所有道路都必须使用PyISAPIe才能在IIS6上运行Django。这对我们来说是一个问题,因为它似乎you need separate application pools per PyISAPIe/Django instance是我们不想做的事情。
有没有人有任何建议/指导,或者可以分享他们的经验(特别是在共享的Windows托管环境中)?
答案 0 :(得分:3)
无论您使用哪种扩展程序,都需要单独的应用程序池。这是因为应用程序池将处理程序DLL拆分为不同的w3wp.exe进程实例。你可能想知道为什么这是必要的:
看看Django的模块设置:os.environ["DJANGO_SETTINGS_MODULE"]
。这是该过程的环境,因此如果您为一个ISAPI处理程序更改它,然后在同一个应用程序池中更改它,它们都指向新的DJANGO_SETTINGS_MODULE
。
没有任何有意义的理由,所以请随意说服Django开发人员他们不需要这样做:)
有几种方法可以解决它,但没有什么能像单独的应用程序池一样干净利落。
不幸的是,isapi-wsgi不会修复Django问题,我建议你继续使用PyISAPIe(免责声明:我是开发人员!;)
答案 1 :(得分:1)
Django在任何WSGI基础架构上都运行良好(很像其他任何现代Python Web应用程序框架),并且有几种方法可以在IIS上运行WSGI,例如:见http://code.google.com/p/isapi-wsgi/。