一尘不染

服务Flask应用程序是否需要WSGI服务器和HTTP服务器?

flask

用uWSGI和Nginx设置Flask是非常困难的,即使使用扩展脚本也需要花费一些时间,并且必须记录到指令中以备后用。

如果我不打算在服务器上增加很大的负载(它对公共隐藏),那么在没有uWSGI的情况下运行它是否有意义?(Flask可以监听端口。Nginx可以转发请求吗?)

只在端口上运行裸瓶应用程序,甚至不使用Nginx是否有意义?


阅读 665

收藏
2020-04-04

共1个答案

一尘不染

当你“运行Flask”时,你实际上是在运行Werkzeug的开发WSGI服务器,并将Flask应用程序作为可调用的WSGI传递。

开发服务器不适用于生产环境。它的设计目的不是特别高效,稳定或安全。它不支持HTTP服务器的所有可能功能。

无论应用程序在何处可用,在移至生产环境时,都将Werkzeug开发服务器替换为可用于生产环境的WSGI服务器,例如Gunicorn或uWSGI。

答案与“我应该使用网络服务器”相似。WSGI服务器碰巧具有HTTP服务器,但不如专用的生产HTTP服务器(Nginx,Apache等)好。

Flask 记录了如何以各种方式进行部署。许多托管服务提供商还提供了有关部署Python或Flask的文档。

2020-04-04