日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cgi、wsgi、uwsgi 与 uWSGI

發布時間:2024/9/5 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cgi、wsgi、uwsgi 与 uWSGI 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • CGI(Common Gateway Inteface)
    • 是外部應用程序與Web服務器之間的接口標準(通用網關接口)
    用來規定一個程序該如何與web服務器程序之間通信從而可以讓這個程序跑在web服務器上。當然,CGI 只是一個很基本的協議,在現代常見的服務器結構中基本已經沒有了它的身影,更多的則是它的擴展和更新。
    • linux下python比較常見的服務端結構:
    假設我們使用 python 的 Django 框架寫了一個網站,現在要將它掛在網上運行,我們一般需要:1.nginx 做為代理服務器:負責靜態資源發送(js、css、圖片等)、動態請求轉發以及結果的回復;2.uWSGI 做為后端服務器:負責接收 nginx 請求轉發并處理后發給 Django 應用以及接收 Django 應用返回信息轉發給 nginx;3.Django 應用收到請求后處理數據并渲染相應的返回頁面給 uWSGI 服務器。
    • 網站項目結構圖

    • FastCGI:
      • CGI的一個擴展, 提升了性能,廢除了 CGI fork-and-execute (來一個請求 fork 一個新進程處理,處理完再把進程 kill 掉)的工作方式,轉而使用一種長生存期的方法,減少了進程消耗,提升了性能。
      • 這里 FastCGI 就應用于前端 server(nginx)與后端 server(uWSGI)的通信中,制定規范等等,讓前后端服務器可以順利理解雙方都在說什么(當然 uWSGI 本身并不用 FastCGI, 它有另外的協議)
  • WSGI(Python Web Server GateWay Interface)

    • WSGI 的官方定義是,the Python Web Server Gateway Interface。從名字就可以看出來,這東西是一個Gateway,也就是網關。網關的作用就是在協議之間進行轉換。
    • WSGI 是為 Python 語言定義的 Web 服務器和 Web 應用程序或框架之間的一種簡單而通用的接口。也可以認為WSGI是一種通信協議。自從 WSGI 被開發出來以后,許多其它語言中也出現了類似接口。
    • WSGI是Web 服務器(uWSGI)與 Web 應用程序或應用框架(Django)之間的一種低級別的接口,以提升可移植 Web 應用開發的共同點。WSGI 是基于現存的 CGI 標準而設計的。
    它是用在 python web 框架編寫的應用程序與后端服務器之間的規范(本例就是 Django 和 uWSGI 之間),讓你寫的應用程序可以與后端服務器順利通信。在 WSGI 出現之前你不得不專門為某個后端服務器而寫特定的 API,并且無法更換后端服務器,而 WSGI 就是一種統一規范, 所有使用 WSGI 的服務器都可以運行使用 WSGI 規范的 web 框架,反之亦然。
  • uWSGI:
    • uWSGI是一個Web服務器,它實現了WSGI協議、uwsgi、http等協議。用于接收前端服務器轉發的動態請求并處理后發給 web 應用程序。Nginx中HttpUwsgiModule的作用是與uWSGI服務器進行交換。
  • uwsgi:
    • uwsgi是服務器和服務端應用程序的一種協議,規定了怎么把請求轉發給應用程序和返回; uwsgi是一種線路協議而不是通信協議,在此常用于在uWSGI服務器與其他網絡服務器的數據通信。
  • 簡單來講,這些名詞的關系就是下圖:

轉載于:https://www.cnblogs.com/Godisgirl/p/11119142.html

總結

以上是生活随笔為你收集整理的cgi、wsgi、uwsgi 与 uWSGI的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。