在生产服务器下运行的Flask应用程序仍然是Flask应用程序吗?

时间:2015-01-06 01:27:19

标签: apache flask server

根据Flask's documentation

  

您可以在开发期间使用内置服务器,但您应该使用   生产应用程序的完整部署选项。

假设我使用mod_wsgi

Flask是否仍然在“引擎盖下”运行,Apache委托给它或者Flask“消失了”?根据{{​​3}},Flask的一个显而易见的局限是它是单线程的。如果Apache只是委托给Flask,我们不会遇到同样的问题吗?如果没有,Flask的用途是什么?什么使它成为“Flask应用程序”?换句话说,在Apache服务器下运行的生产Flask应用程序是否真的是Flask应用程序,如果是,为什么?

1 个答案:

答案 0 :(得分:4)

Flask不是开发服务器,它是用于处理Web应用程序的请求/响应周期的框架。 (开发服务器甚至不是Flask的一部分,它是Werkzeug的一部分。)

部署的项目通常包括Web服务器(Apache,Nginx等),应用程序服务器(mod_wsgi,uwsgi,gunicorn等)和WSGI应用程序(本例中为Flask)。

当您没有设置真正的应用程序服务器时,开发服务器可以让您轻松运行应用程序。在您的情况下,mod_wsgi取代了开发服务器,两者都运行Flask应用程序。