部署網站應用的流程

常見的網站部署流程一般有三層結構:

web server -> application server -> DB server


以python應用爲例,對於web server主要有nginx,apache,iis等,有三個功能:

  1. 高效率處理靜態文件,web server都是用c開發,調用是native的函數,對IO,文件傳輸都做針對性的優化
  2. 充當一個簡易的網絡防火牆,可以denny一些ip,簡單的控制併發連接數量等等,聊勝於無
  3. 處理高併發短連接請求,把成千上萬用戶的request 通過內網的幾十個長連接進行轉發,原因一個是web server處理高併發很專業,另外一個原因是大部分的application所用的框架都不具備處理高併發的能力

 但是web服務器不提供對事物的支持,不提供對數據源的支持,不能解析代碼,所以需要應用服務器,即application server,像uwsgi,gunicorn這些Python WSGI UNIX的HTTP服務器可以很好地作爲應用服務器與web框架兼容,其中tornado即是web框架,也可以單獨提供高性能http server,因此也可以作爲應用服務器


參考資料: 

http://www.open-open.com/lib/view/open1385131452292.html

http://blog.tianya.cn/blogger/post_show.asp?BlogID=229728&PostID=9891654


以上純屬個人愚見,如果有不對的地方,很希望大家指出,因爲我對這個也比較模糊

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章