“内置服务器”如何与 Flask Web 应用程序一起使用?
Posted
技术标签:
【中文标题】“内置服务器”如何与 Flask Web 应用程序一起使用?【英文标题】:How does the "builtin server" work with a Flask web application? 【发布时间】:2019-09-20 07:37:08 【问题描述】:http://flask.pocoo.org/docs/1.0/quickstart/#a-minimal-application
$ export FLASK_APP=hello.py $ python -m flask run * Running on http://127.0.0.1:5000/
这会启动一个非常简单的内置服务器,这对于 测试,但可能不是您想在生产中使用的。
“非常简单的内置服务器”如何与 Flask Web 应用程序一起使用?
“非常简单的内置服务器”是否也使用 WSGI 来调用 Flask Web 应用程序并与之通信?
“非常简单的内置服务器”和 Flask Web 应用程序是在相同的进程中运行还是在不同的进程中运行?
如果我是正确的,外部 Web 服务器(Apache 或 nginx)需要使用 WSGI 来调用和通信 Flask Web 应用程序,并且它们在同一个进程中运行。
【问题讨论】:
Flask 不是服务器,所以我不确定您所说的第二个要点是什么意思?如果没有服务器,flask 应用程序只是一堆代码监听和响应 如果我是正确的,外部网络服务器(Apache 或 Nginx)需要使用 WSGI 来调用和通信 Flask 网络应用程序,并且它们运行在同一个进程中。 一个典型的设置是 Nginx 作为负载均衡器和反向代理,而 gunicorn 作为服务器。开发服务器使用 WSGI,是的,但它明确记录在生产中不使用。您可以只使用 gunicorn 来为您的应用程序提供服务,而无需使用 Nginx。我对 Apache 不太熟悉 【参考方案1】:它使用werkzeug simple WSGI server。
这是一个单进程、单线程服务器,所以如果我正确理解您的第二个问题,它不会使用多个进程。该应用程序由处理 Flask 应用程序的同一 python 进程提供服务。
【讨论】:
以上是关于“内置服务器”如何与 Flask Web 应用程序一起使用?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Nginx和uWSGI或Gunicorn在Ubuntu上部署Flask Web应用