每次啟動python 框架的時候常常使用,卻不曉得到底是啥米?很常見卻常常忽略,來跟我一起補起來吧!
簡單來說,他的功能就是當Nginx(反向代理伺服器)收到請求後,會送給Web Server(Gunicorn , Uvicorn, etc),透過他再轉發給python 的某個框架(Django / Flask / FastAPI, etc) ,等python處理完,也是先回給web server 再回至nginx!
好像大概知道他的角色了...但為什麼要多一層web server呢?
那難道Python 框架沒有這種功能嗎?
流程如下
nginx <==> web server(中繼站(Middleware)) <==> web application(ex. python(Django / Flask / FastAPI, etc))
gunicorn -w 1 -b 0.0.0.0:80 run:app
-w : worker 數量,建議一個Cpu 用2~4個workers
-b : host:port
uvicorn main:app --host 0.0.0.0 --port 8080 --workers 4
from main import app
鐵人賽要過半了,時間過得好快,其實參賽到現在主題有點飄忽不定,果然還是會被瀏覽人數影響,自認為GraphQL蠻不錯的,相關文件也少,但看得人好少呀...
參考資料