1. 程式人生 > >Nginx、uWSGI、Flask之間的關系

Nginx、uWSGI、Flask之間的關系

__name__ 服務 ima 方便 src 簡要介紹 程序 服務器架構 span

總體來說:客戶端從發送一個HTTP請求到Flask處理請求,分別經過了web服務層,WSGI層,web框架層,這三個層次。不同的層次期作用也不同,下面簡要介紹個層的作用。

技術分享圖片

1、Web服務器層

對於傳統的客戶端 - 服務器架構,其請求的處理過程是,客戶端向服務器發送請求,服務器接收請求並處理請求,然後給客戶端返回響應。在這個過程中,服務器的作用是:

  • 接收請求
  • 處理請求
  • 返回響應

Web服務器是一類特殊的服務器,其作用主要是接收HTTP請求並返回響應。提起Web服務器大家都不會陌生,常見的Web服務器有Nginx,Apache,IIS等。在上圖的三層結構中,Web服務器是最先接收用戶請求的,並將響應結果返回給用戶。

2、Web框架

Web框架的作用主要是方便我們開發Web應用程序,HTTP請求的動態數據就是由Web框架層來提供的。常見的Web框架有Flask,Django等,我們以Flask框架為例,展示Web框架的作用:

from flask import Flask
app = Flask(__name__)
@app.route(/hello)
def hello_word():
    return Hello World!

if __name__ == __main__:
    app.run(host=0.0.0.0, port=5000)

Nginx、uWSGI、Flask之間的關系