
我知道,為了在伺服器上運行 Python Web 應用程式(使用 Flask 和 Django 等框架開發的應用程式),您需要使用uwsgi
、wsgi
.. gunicorn
.. 等來部署它,並將其配置為使用網頁伺服器,例如apache2
& nginx
。
但是,我知道我可以運行python my_app.py
,並且應用程式將使用以下連接埠在伺服器上運行:mywebsite.com:5000
。我可以使用網頁伺服器上的代理程式重定向mywebsite.com:5000
到類似的地方test.example.com
或我想要的任何地方。
那麼這兩種方式有什麼差別呢?我應該使用哪一個?
謝謝。
答案1
並非所有框架都是這種情況,但當您在您引用的 dev http 模式下運行時,除了 django 和 Flask 之外,它只是單線程的。
所以伺服器一次只能處理一個連線。因此,如果兩個連接同時出現,伺服器將處理一個連接並讓另一個連接等待。
前面有 apache/nginx 的 wsgi 伺服器將同時處理多個連線。