我正在努力让mongrel2与m2wsgi合作。我需要做什么,所以我可以看到“Hello World!”在我的浏览器中?已安装Mongrel2,但尚未完成任何站点配置。
def app(environ, start_response):
start_response("200 OK", [('Content-Type', 'text/plain')])
return ['Hello World!', ]
尝试运行它:
m2wsgi test
AssertionError:指定的应用程序无法调用
我正在运行Ubuntu Maverick。
答案 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: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应用程序。
Gook运气和快乐的黑客攻击!