2010-03-10 163 views
5

我打算在python中編寫web服務。但是,我發現wsgi也做類似的事情。哪一個可以是首選?Apache2:mod_wsgi或mod_python,哪一個更好?

謝謝
巴拉

更新

我仍然感到困惑。請幫忙。

更好的是我的意思是:
1.錯誤會定期修復。
2.被大多數開發者選中。
3.像AWS這樣的認證令牌的其他功能可以支持開箱即用。
4.沒有對版本的強烈依賴(我看到wsgi需要python 2.6)
5.所有的python庫都可以使用。
6.未來可擴展。
7.未來的升級不會導致任何問題。

以我有限的經驗,我想要這些功能。可能有些我可能會失蹤。

感謝
巴拉

更新

我爲人人的混亂很抱歉造成的。我只想用Python語言公開一個寧靜的Web服務。有沒有一個好的框架?

+0

取決於你想要做什麼,WSGI是非常低的水平,你將需要選擇一個框架來運行WSGI之上,需要更多的信息 – 2010-03-10 22:11:10

+0

其實我只是想編寫REST Web服務API的。目前,我並不關心速度,但將來我可能會擔心。 – Boolean 2010-03-10 22:17:35

+0

1)請定義「更好」和「首選」。你需要提供標準;你在找什麼。沒有你說什麼對你很重要,更好的是無法定義的。 (2)不要對你自己的問題添加評論。使用關於REST的信息更新問題。保持問題清晰,完整和準確。不要添加評論。 – 2010-03-11 00:19:16

回答

14

mod_wsgi更積極地維護和(我聽說 - 沒有基準他們自己!)比mod_python更好的表現。因此,除非您需要mod_python的獨家功能,否則只需使用Web應用程序框架(或非框架,如werkzeug ;-),您可能更適合使用mod_wsgi! (幾乎每一個Python Web框架,以及許多werkzeug是我最喜歡的非框架,最近都支持WSGI作爲它們與Web服務器的標準接口)。

+5

請注意,當Alex說「mod_wsgi更積極維護」時,他的意思是「mod_python的最後一個版本是在2007年」。 :)如果可以的話,絕對使用mod_wsgi。 – 2010-03-10 22:20:29

4

如果您只是想運行網絡應用程序,然後使用mod_wsgi。如果您需要爲httpd的其他請求/響應階段編寫處理程序,請使用mod_python

+0

有什麼區別兩者之間。我只想公開REST Web服務API。 – Boolean 2010-03-10 22:18:15

+0

@Algorist除非你知道你有特殊要求需要mod_python,否則你不需要_need_ mod_python。 99%的時間沒有理由在新項目上使用它,除非你必須在現有的mod_python相關平臺上運行。 – 2010-03-10 22:22:45

+4

mod_wsgi用於運行web應用程序。 mod_python用於擴展httpd。 – 2010-03-10 22:27:41

5

不要混淆WSGI和mod_wsgi。 WSGI是用於在服務器上託管Python Web應用程序的接口規範。 mod_wsgi模塊是使用Apache作爲底層Web服務器的WSGI規範的實現。因此,Python和WSGI並不完全是選擇,WSGI只是能夠在Python Web服務/應用程序和Web服務器之間進行通信的一種方式。 mod_wsgi包是該接口的一個實現。所以,WSGI是達到目的的手段,而不是本身的解決方案。

就個人而言,我非常建議您只使用最小化的Python框架/非框架,正如Alex所建議的那樣,Werkzeug是一個不錯的選擇。

3

mod_wsgi專門用於運行在Apache中使用WSGI的Python Web應用程序。 mod_python適用於任何類型的Python Web應用程序,包括WSGI應用程序。 mod_wsgi的內存佔用量也比mod_python低。

0
  1. 錯誤會定期修復。

    除非你付錢,否則你不會有任何想法。

  2. 被大多數開發者選中。

    mod_wsgi的

  3. 像像AWS認證令牌附加特徵,可以被支持開箱。

    對於每個框架都是正確的。

  4. 版本上沒有很強的依賴性。(我看到WSGI需要Python 2.6)

    什麼?一切都取決於兼容的版本。一切。每一個軟件。

  5. 所有的python庫都可以開箱即用。

    「全部?」那些寫得不好的呢?

  6. 將來可擴展。

    當然。我們總是希望這一點。沒有保證。

  7. 未來的升級不會導致任何問題。

    這很有趣。

「我想要這些功能。」

我們都這麼做。實際上,你可以得到#2。其餘的都沒有意義或者不可能每個人都放心。

1

在這一點上,mod_wsgi比mod_python更爲主動。它也有很好的發展勢頭,因爲它最近被Django用作apache2上的首選部署方法。作者還積極與Python社區就WSGI的未來發展進行交流。