Apache2:mod_wsgi或mod_python,哪个更好?

时间:2010-03-10 22:10:07

标签: python rest web-services apache2

我打算在python中编写web服务。但是,我发现wsgi也做了类似的事情。哪一个可以优先考虑?

谢谢你 巴拉

  

更新

我仍然感到困惑。请帮忙。

在我看来,更好的意思是:
1. Bug会定期修复 2.大多数开发商选择 3.可以支持开箱即用的其他功能,如AWS等身份验证令牌 4.没有对版本的强烈依赖。(我看到wsgi需要python 2.6) 5.所有python库都可以开箱即用 6.将来可扩展。
7.未来的升级不会引起任何问题。

凭借我有限的经验,我想要这些功能。可能有一些我可能会失踪。

感谢
巴拉

  

更新

我很抱歉造成的所有混乱。我只想用python语言公开一个安静的Web服务。有一个好的框架吗?

6 个答案:

答案 0 :(得分:14)

mod_wsgi得到了更积极的维护(我听说 - 我自己没有对它们进行基准测试!)比mod_python表现更好。因此,除非您需要mod_python的独有功能,只需使用Web应用程序框架(或非框架,如werkzeug ;-),您最好使用mod_wsgi! (几乎每个Python Web框架,以及werkzeug是我最喜欢的许多非框架,支持WSGI作为Web服务器的标准接口,这些日子。)

答案 1 :(得分:5)

不要混淆WSGI和mod_wsgi是什么。 WSGI是用于在服务器上托管Python Web应用程序的接口规范。 mod_wsgi模块是使用Apache作为底层Web服务器的WSGI规范的实现。因此,Python和WSGI不是完全不同的选择,WSGI只是能够在Python Web服务/应用程序和Web服务器之间进行通信的一种方式。 mod_wsgi包是该接口的一个实现。因此,WSGI是达到目的的手段,而不是解决方案。

就个人而言,我非常建议你只使用一个最小的Python框架/非框架,正如Alex建议的那样,Werkzeug是一个不错的选择。

答案 2 :(得分:4)

如果您只想运行网络应用,请使用mod_wsgi。如果您需要为httpd的其余请求/响应阶段编写处理程序,请使用mod_python

答案 3 :(得分:3)

mod_wsgi专门用于运行在Apache中使用WSGI的Python Web应用程序。 mod_python适用于任何类型的Python Web应用程序,包括WSGI应用程序。 mod_wsgi的内存占用量也低于mod_python。

答案 4 :(得分:1)

此时,mod_wsgi比mod_python更加积极地维护。它也有一点动力,因为它最近被Django用作apache2的首选部署方法。作者还积极参与Python社区关于WSGI的未来发展。

答案 5 :(得分:0)

  1. 将定期修复错误。

    除非您付钱,否则您无法对此有所了解。

  2. 大多数开发者选择。

    mod_wsgi的

  3. 可以支持开箱即用的其他功能,例如AWS等身份验证令牌。

    适用于每个框架。

  4. 没有对版本的强烈依赖。(我看到wsgi需要python 2.6)

    什么?一切都取决于兼容的版本。一切。每一件软件。

  5. 所有python库都可以直接使用。

    “所有?”那些写得不好的人呢?

  6. 将来可扩展。

    不确定。我们一直希望如此。无法保证。

  7. 未来的升级不会引起任何问题。

    这很有趣。

  8. “我想要这些功能。”

    我们都这样做。实际上,你可以得到#2。其余的没有意义,或者不能每个人都放心。