以常规方式运行 Python Web 应用程序和在 wsgi 下运行它们有什么区别?

以常规方式运行 Python Web 应用程序和在 wsgi 下运行它们有什么区别?

我知道,为了在服务器上运行 Python Web 应用程序(使用 Flask 和 Django 等框架开发的应用程序),您需要使用诸如uwsgiwsgi..等来部署它,并将其配置为与&gunicorn等 Web 服务器一起运行。apache2nginx

但是,我知道我只需运行python my_app.py,应用程序就会使用以下端口在服务器上运行:mywebsite.com:5000。我可以使用 Web 服务器上的代理重定向mywebsite.com:5000test.example.com我想要的任何地方。

那么这两种方式有什么区别?我应该使用哪一种?

谢谢。

答案1

并非所有框架都是这种情况,但是当您在所引用的 dev http 模式下运行时,django 和 flask 仅仅是单线程的。

因此服务器一次只能处理一个连接。因此如果两个连接同时到来,服务器将处理其中一个,而让另一个等待。

前面带有 apache/nginx 的 wsgi 服务器将同时处理许多连接。

相关内容