试图获得 Mongrel2 + m2wsgi 开始工作
我正在尝试让 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。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果 Mongrel2 未完全配置,正如您的“Mongrel2 已安装,但任何站点配置尚未完成”语句所暗示的那样,那么它将无法找到您的应用程序(m2wsgi 文档对此可能并不那么清楚)是)。 这是一个教程 在设置 Mongrel2 并准备连接到 WSGI 应用程序时 - 它使用 wsgid 而不是 m2wsgi,但我打赌您可以根据您的需要调整它。
If Mongrel2 is not fully configured, as your "Mongrel2 is installed but any site configurations are not done yet" statement suggests, then it won't be able to find your app (the m2wsgi documentation is perhaps not as clear about this as it might be). Here's a tutorial on getting Mongrel2 set up and ready to connect to a WSGI app - it uses wsgid instead of m2wsgi, but I bet you can adapt it to your needs.
为了让 m2wgi 能够加载您的应用程序,它必须位于您的 PYTHONPATH 中,因此为了能够运行您的测试应用程序,请尝试将
test.py
模块复制到 PYTHONPATH 中的某个位置,或者更简单,尝试这个:假设您的 mongrel2 配置数据库中有一条指向带有
send_spec = tcp://127.0.0.1:9995
的处理程序的路由,并且recv_spec = tcp://127.0.0.1:9994
。我在本地尝试过,它有效:看看 Sean 引用的博客文章,您对如何配置 mongrel2 和设置主机/路由/处理程序有一个很好的想法。也尝试一下wsgid,也许你喜欢它=)。它还支持原始 WSGI 应用程序。
祝你好运,黑客快乐!
To m2wgi be able to load your app, it must be in your PYTHONPATH, so to be able to run your test app try copying the
test.py
module to somewhere in your PYTHONPATH or, easier, try this:Assuming you have, in your mongrel2 config database, a route pointing to a handler with
send_spec = tcp://127.0.0.1:9995
andrecv_spec = tcp://127.0.0.1:9994
. I tried this locally and it worked:Take a look at the blog post cited by Sean, you have a great idea on how to configure mongrel2 and setup your hosts/routes/handlers. Also give wsgid a try, maybe you like it =). It also has support for raw WSGI apps.
Gook luck and happy hacking!