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

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

我知道,為了在伺服器上運行 Python Web 應用程式(使用 Flask 和 Django 等框架開發的應用程式),您需要使用uwsgiwsgi.. gunicorn.. 等來部署它,並將其配置為使用網頁伺服器,例如apache2& nginx

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

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

謝謝。

答案1

並非所有框架都是這種情況,但當您在您引用的 dev http 模式下運行時,除了 django 和 Flask 之外,它只是單線程的。

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

前面有 apache/nginx 的 wsgi 伺服器將同時處理多個連線。

相關內容