试图让Mongrel2 + m2wsgi工作

时间:2011-07-11 03:32:08

标签: python wsgi mongrel2

我正在努力让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。

2 个答案:

答案 0 :(得分:0)

如果没有完全配置Mongrel2,因为您的“Mongrel2已安装,但尚未完成任何网站配置”声明建议,那么它将无法找到您的应用(m2wsgi文档可能不是很清楚因为它可能是)。 Here's a tutorial关于设置Mongrel2并准备连接到WSGI应用程序 - 它使用wsgid而不是m2wsgi,但我打赌你可以根据自己的需要进行调整。

答案 1 :(得分:0)

要使m2wgi能够加载你的应用程序,它必须在你的PYTHONPATH中,所以为了能够运行你的测试应用程序尝试将test.py模块复制到PYTHONPATH中的某个地方,或者更容易,试试这个: / p>

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,也许你喜欢它=)。它还支持原始 WSGI应用程序。

Gook运气和快乐的黑客攻击!