2

我试图让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。

4

2 回答 2

0

如果 Mongrel2 没有完全配置,正如您的“Mongrel2 已安装但任何站点配置尚未完成”声明所暗示的那样,那么它将无法找到您的应用程序(m2wsgi 文档可能并不像它可能那样清楚这一点是)。这是关于设置 Mongrel2 并准备连接到 WSGI 应用程序的教程 - 它使用 wsgid 而不是 m2wsgi,但我敢打赌你可以根据自己的需要调整它。

于 2011-11-10T18:12:45.257 回答
0

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

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

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

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

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

祝你好运,黑客快乐!

于 2011-11-11T01:08:46.270 回答