Python

以正常方式執行 Python Web 應用程序和在 wsgi 下執行它們有什麼區別?

  • August 23, 2015

我知道為了在伺服器上執行 Python Web 應用程序(使用 Flask 和 Django 等框架開發的應用程序),您需要使用諸如uwsgi, wsgi.. gunicorn.. 之類的東西來部署它,並將其配置為使用Web 伺服器,例如apache2& nginx

但是,我知道我可以執行python my_app.py,並且應用程序將使用以下埠在伺服器上執行:mywebsite.com:5000. 我可以使用網路伺服器上的代理重定向mywebsite.com:5000到我想要的任何東西test.example.com或任何地方。

那麼這兩種方式有什麼區別呢?我應該使用哪一個?

謝謝。

並非所有框架都是這種情況,但 django 和 flask 當您以您引用的 dev http 模式執行時,它只是單執行緒的。

所以伺服器一次只能處理一個連接。因此,如果兩個連接一起出現,伺服器將處理一個並讓另一個等待。

前面帶有 apache/nginx 的 wsgi 伺服器將一次處理許多連接。

引用自:https://serverfault.com/questions/716088