【问题标题】:Trying to get Mongrel2 + m2wsgi to work试图让 Mongrel2 + m2wsgi 工作
【发布时间】:2011-10-02 11:54:08
【问题描述】:

我正在尝试让mongrel2m2wsgi 合作。我需要做什么才能看到“Hello World!”在我的浏览器中? Mongrel2 已安装,但尚未完成任何站点配置。

def app(environ, start_response):
  start_response("200 OK", [('Content-Type', 'text/plain')])
  return ['Hello World!', ]

尝试运行它:

m2wsgi test

AssertionError: 指定的应用不可调用

我正在运行 Ubuntu Maverick。

【问题讨论】:

    标签: python wsgi mongrel2


    【解决方案1】:

    如果 Mongrel2 未完全配置,正如您的“Mongrel2 已安装但任何站点配置尚未完成”语句所示,那么它将无法找到您的应用程序(m2wsgi 文档可能对此不太清楚可能是这样)。 Here's a tutorial 设置 Mongrel2 并准备好连接到 WSGI 应用程序 - 它使用 wsgid 而不是 m2wsgi,但我敢打赌你可以根据自己的需要调整它。

    【讨论】:

      【解决方案2】:

      要让 m2wgi 能够加载您的应用,它必须在您的 PYTHONPATH 中,因此为了能够运行您的测试应用,请尝试将 test.py 模块复制到您的 PYTHONPATH 中的某个位置,或者更简单,试试这个:

      PYTHONPATH=.:$PYHTONPATH m2wsgi test.app tcp://127.0.0.1:9995
      

      假设你在你的 mongrel2 配置数据库中有一个路由指向一个带有 send_spec = tcp://127.0.0.1:9995recv_spec = tcp://127.0.0.1:9994 的处理程序。我在本地尝试过,效果很好:

      daltonmatos@jetta ~ [6]$ curl http://localhost/m2wsgi/
      Hello World!daltonmatos@jetta ~ [7]$
      

      查看 Sean 引用的博客文章,您对如何配置 mongrel2 和设置主机/路由/处理程序有一个很好的了解。也试试wsgid,也许你喜欢它=)。它还支持 raw WSGI 应用程序。

      祝你好运,黑客攻击愉快!

      【讨论】:

        猜你喜欢
        • 2019-02-01
        • 2011-04-13
        • 2015-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-02
        • 2015-10-21
        • 1970-01-01
        相关资源
        最近更新 更多