您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Flask

51自学网 2022-02-21 10:47:11
  python
这篇教程Flask写得很实用,希望能帮到您。

前言:

在开发时,我们使用flask run命令启动开发服务器运行应用,该服务器是由 Werkzeug 提供的,但是该服务器性能比较低,只能供开发测试用来调试使用,生产环境不建议直接使用,需要一个高性能的服务器来部署 Flask 服务,Gunicorn 是推荐比较多的高性能服务器,接下来就具体介绍一下。

1、Gunicorn

Gunicorn,绿色独角兽(Green Unicorn),是一个 Python WSGI HTTP 服务器,只支持在 Unix/Linux 系统下运行,来源于Ruby Unicorn 项目。它采用 pre-forkworker 模型,在启动时,会在主进程中预先 fork 出指定数量的 worker 进程来处理请求,极大提升了服务器请求负载能力,又可以兼容于多种 Python Web 框架,实现简单,占用系统资源少,速度也相当快,因此受到广大 Python 开发者的喜爱。

gunicorn 的安装也非常简单,使用pip install gunicorn命令即可

2、Gunicorn 的使用

Gunicorn 可以使用命令来运行,命令格式如下:

gunicorn [OPTIONS] 模块名:应用实例名 

比如一个简单的 Flask 应用的 app.py 文件:

from flask import Flaskapp = Flask(__name__)@app.route("/")def index():    return "hello world"if __name__ == '__main__':    app.run()

可以使用以下命令启动应用:

gunicorn -w 4 -b 127.0.0.1:8888 app:app

  • -w:是开启的进程数量
  • -b:指定监听地址和端口
  • app:app:第一个 app Python 模块文件的名称,第二个指的是 Flask 应用实例的名称

上述命令代表的是使用 4个 worker 进程来运行 Flask 应用,绑定到 本地的 8888 端口。

gunicorn 其实还有非常多的配置项,可以通过gunicorn -h查看。

实际上,由于运行时需要指定的配置项很多,通过命令的方式运行Gunicorn就会非常麻烦,通常会把配置项写入 gunicorn.config.py 文件来进行指定。

如:

# 日志配置loglevel = "debug"accesslog = './log/access.log'errorlog = './log/error.log'workers = 4# 设置工作模式为协程worker_class = "gevent"bind = "0.0.0.0:8080"

以上配置了日志、工作模式等配置项,把工作模式设置成了 gevent, 是基于Python 第三方库 gevent 的异步工作模式,除此之外,还有synceventlettornadogthread,默认是sync

配置完成后,使用gunicorn app:app -c ./gunicorn.config.py命令即可使用 gunicorn 运行 Flask 服务。

到此这篇关于 Flask
Flask 使用工厂模式
最实用的20个python小技巧

万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。