Python
以正常方式執行 Python Web 應用程序和在 wsgi 下執行它們有什麼區別?
我知道為了在伺服器上執行 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 伺服器將一次處理許多連接。