我知道,为了在服务器上运行 Python Web 应用程序(使用 Flask 和 Django 等框架开发的应用程序),您需要使用诸如uwsgi
、wsgi
..等来部署它,并将其配置为与&gunicorn
等 Web 服务器一起运行。apache2
nginx
但是,我知道我只需运行python my_app.py
,应用程序就会使用以下端口在服务器上运行:mywebsite.com:5000
。我可以使用 Web 服务器上的代理重定向mywebsite.com:5000
到test.example.com
我想要的任何地方。
那么这两种方式有什么区别?我应该使用哪一种?
谢谢。
答案1
并非所有框架都是这种情况,但是当您在所引用的 dev http 模式下运行时,django 和 flask 仅仅是单线程的。
因此服务器一次只能处理一个连接。因此如果两个连接同时到来,服务器将处理其中一个,而让另一个等待。
前面带有 apache/nginx 的 wsgi 服务器将同时处理许多连接。