電腦版
首頁

搜尋 繁體

2 多套方案來提高 python web 框架的併發處理能力

熱門小說推薦

最近更新小說

Python 常見部署方法有 :fcgi :用 spawn-fcgi 或者框架自帶的工具對各個 project 分別生成監聽程序,然後和 http 服務互動wsgi :利用 http 服務的 mod_wsgi 模組來跑各個 project(Web 應用程式或框架簡單而通用的 Web 伺服器 之間的介面)。uWSGI 是一款像 php-cgi 一樣監聽同一埠,進行統一管理和負載平衡的工具,uWSGI,既不用 wsgi 協議也不用 fcgi 協議,而是自創了一個 uwsgi 的協議,據說該協議大約是 fcgi 協議的 10 倍那麼快。

其實 WSGI 是分成 server 和 framework (即 application) 兩部分 (當然還有 middleware)。嚴格說 WSGI 只是一個協議, 規範 server 和 framework 之間連線的介面。

WSGI server 把伺服器功能以 WSGI 介面暴露出來。比如 mod_wsgi 是一種 server, 把 apache 的功能以 WSGI 介面的形式提供出來。

WSGI framework 就是我們經常提到的 Django 這種框架。不過需要注意的是, 很少有單純的 WSGI framework , 基於 WSGI 的框架往往都自帶 WSGI server。比如 Django、CherryPy 都自帶 WSGI server 主要是測試用途, 釋出時則使用生產環境的 WSGI server。而有些 WSGI 下的框架比如 pylons、bfg 等, 自己不實現 WSGI server。使用 paste 作為 WSGI server。Paste 是流行的 WSGI server, 帶有很多中介軟體。還有 flup 也是一個提供中介軟體的庫。搞清除 WSGI server 和 application, 中介軟體自然就清楚了。除了 session、cache 之類的應用, 前段時間看到一個 bfg 下的中介軟體專門用於給網站換膚的 (skin) 。中介軟體可以想到的用法還很多。這裡再補充一下, 像 django 這樣的框架如何以 fastcgi 的方式跑在 apache 上的。這要用到 flup.fcgi 或者 fastcgi.py (eurasia 中也設計了一個 fastcgi.py 的實現) 這些工具, 它們就是把 fastcgi 協議轉換成 WSGI 介面 (把 fastcgi 變成一個 WSGI server) 供框架接入。整個架構是這樣的: django -> fcgi2wsgiserver -> mod_fcgi -> apache 。雖然我不是 WSGI 的粉絲, 但是不可否認 WSGI 對 python web 的意義重大。有意自己設計 web 框架, 又不想做 socket 層和 http 報文解析的同學, 可以從 WSGI 開始設計自己的框架。在 python 圈子裡有個共識, 自己隨手搞個 web 框架跟喝口水一樣自然, 非常方便。或許每個 python 玩家都會經歷一個倒騰框架的

Loading...

未載入完,嘗試【重新整理網頁】or【關閉小說模式】or【關閉廣告遮蔽】。

使用【Firefox瀏覽器】or【Chrome谷歌瀏覽器】開啟並收藏!

移動流量偶爾打不開,可以切換電信、聯通網路。

收藏網址:www.peakbooks.cc

(>人<;)