【问题标题】:WSGI on Windows/IIS behind reverse proxy, how to set up multiple processes and process recycling?反向代理后Windows/IIS上的WSGI,如何设置多进程和进程回收?
【发布时间】:2013-03-18 10:04:52
【问题描述】:

我之前使用 isapi-wsgi 在 IIS 上部署了 CPython 应用程序,这在少数情况下效果很好。

但是在我当前的项目中,我在使用 isapi-wsgi 时遇到了困难:如果不重新编译 pyodbc 模块,Windows Server 2008 R2、64 位 Python 和 pyodbc 模块的组合将无法工作(至少这是一半一个小时的谷歌搜索让我相信)。

无论如何:我已经决定我会尝试另一种选择来为这个项目在 Windows 上部署 WSGI。

计划是:

  • 为反向代理配置的 IIS Web 服务器(使用 IIS Application Request Routing
  • 作为 Windows 服务托管的 Python 进程,处理从 IIS 传递的请求,例如来自 Pylons 项目的this example

我的问题:

  • 如果我的 Python 进程能够启动 N 个长时间运行的请求处理进程并在它们之间自动分发请求,那就太好了。
  • 如果 Python 请求处理进程能够在给定数量的请求后自动回收,那就太好了。
  • 有没有人有关于如何完成上述任务的提示?

【问题讨论】:

标签: python windows iis wsgi


【解决方案1】:

我已成功使用 Paste 和 CherryPy。 Paste 目前与 Python 3 不兼容,并且不太可能增加该支持。如果 Python 3 是你关心的东西,那么你可能会想看看 Paste 之外的东西。

我还尝试在服务中使用 Twisted 作为 WSGI 服务器。这行得通,但我从未将它投入生产,因为我没有发现它提供了我一直在使用的东西所寻找的好处。

我不熟悉 Werkzeug 的服务器,因此对于在生产部署中不使用它的真实性,或者这是否意味着不使用反向代理,我犹豫不决。

从根本上说,任何在 Windows 上运行的知名 WSGI 服务器都可能是“最佳”,取决于您的标准。

【讨论】:

    猜你喜欢
    • 2011-06-11
    • 1970-01-01
    • 2012-10-22
    • 2023-03-13
    • 1970-01-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 2012-04-06
    相关资源
    最近更新 更多