【问题标题】:How can I serve a WSGI Python app using Mongrel2?如何使用 Mongrel2 为 WSGI Python 应用程序提供服务?
【发布时间】:2025-07-31 05:35:01
【问题描述】:

这是为目前 Google 似乎难以解决的问题寻找规范答案的尝试。我正在 Pyramid 中编写一个 Web 应用程序,并且我可以决定我的服务器堆栈的外观。我听说过有关 Mongrel2 的好消息,并想尝试使用它来为我的应用程序提供服务。但是,我无法从the Mongrel2 manual 和 Google 搜索中弄清楚如何将 Mongrel2 连接到 WSGI 应用程序。我必须自己动手吗,还是有针对此问题的现有解决方案?

【问题讨论】:

    标签: python wsgi pyramid mongrel2


    【解决方案1】:

    为了寻求一个规范的答案,这里是我在寻找让 Mongrel2 为 WSGI 应用程序提供服务的方法时发现的 WSGI 处理程序。现在,看起来wsgid 是 Django 用户的最佳选择,但对其他人来说最终存在缺陷,替代方案也存在缺陷。


    • wsgid 项目还没有到 1.0,但是在 1.0 之前有很多东西可以使用。它周围似乎有一个活跃的社区,这是一个建议。
    • m2wsgi 处理程序似乎主要是一个人的项目,但它看起来还活着,并且“我开始编写 foo 是因为我尝试了 bar 和 baz,但它们并没有完全解决我的问题”是一个很好的地方开始,它的功能列表看起来不错。
    • GitHub 上的Mongrel2-WSGI-Handler 项目已经一年多没有提交了,所以虽然它可能是功能性的,但我对此有点警惕。
    • BitBucket 上的mongrel2_wsgi 项目也一年多没有提交,所以它看起来也不是一个很好的候选者。
    • Brubeck 是一个完整的基于 Mongrel2 和 Python 构建的 Web 框架,看起来很有趣。

    关于此主题的其他讨论和帖子:

    【讨论】:

      【解决方案2】:

      我写的这篇文章讨论了如何使用 wsgid 设置 mongrel2 来运行您的 WSGI 应用程序。在这里:http://daltonmatos.wordpress.com/2011/11/06/deploying-your-django-application-with-mongrel2-and-wsgid/

      【讨论】:

      • 谢谢,道尔顿!我将该链接添加到规范答案中的列表中。
      【解决方案3】:

      您需要使用可以为 WSGI 应用程序提供服务的 Mongrel 2 处理程序。基本上是将消息从 mongrel2 zeromq 套接字转换为 wsgi 环境的东西。其中有几个,我过去成功使用过m2wsgi,但我认为wsgid 看起来也很有前途。

      【讨论】:

      • 啊,好吧 - 我认为“处理程序”是我缺少的术语,因为一旦我开始寻找“处理程序”,事情就会变得更容易。谢谢。
      【解决方案4】:

      特别是关于 wsgid,您可能需要告诉它加载一个通用的 WSGI 应用程序。您可以在文档中了解更多关于如何执行此操作的信息:Loading a generic WSGI Application,但实现 AppLoader 并没有那么困难。

      如果您需要任何其他帮助,您可以发送电子邮件至mailing list,我们很乐意为您提供帮助。

      【讨论】: