Flask 使用Gunicorn部署服务介绍

前言:
在开发时,我们使用flask run命令启动开发服务器运行应用,该服务器是由 Werkzeug 提供的,但是该服务器性能比较低,只能供开发测试用来调试使用,生产环境不建议直接使用,需要一个高性能的服务器来部署 Flask 服务,Gunicorn 是推荐比较多的高性能服务器,接下来就具体介绍一下。
1、Gunicorn
Gunicorn,绿色独角兽(Green Unicorn),是一个 Python WSGI HTTP 服务器,只支持在 Unix/Linux 系统下运行,来源于Ruby 的 Unicorn 项目。它采用 pre-fork 的 worker 模型,在启动时,会在主进程中预先 fork 出指定数量的 worker 进程来处理请求,极大提升了服务器请求负载能力,又可以兼容于多种 Python Web 框架,实现简单,占用系统资源少,速度也相当快,因此受到广大 Python 开发者的喜爱。
gunicorn 的安装也非常简单,使用pip install gunicorn命令即可
2、Gunicorn 的使用
Gunicorn 可以使用命令来运行,命令格式如下:
gunicorn [OPTIONS] 模块名:应用实例名
比如一个简单的 Flask 应用的 app.py 文件:
from flask import Flask
app = 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 的异步工作模式,除此之外,还有sync、eventlet、tornado、gthread,默认是sync。
配置完成后,使用gunicorn app:app -c ./gunicorn.config.py命令即可使用 gunicorn 运行 Flask 服务。
到此这篇关于 Flask 使用Gunicorn部署服务介绍的文章就介绍到这了,更多相关 Flask 使用Gunicorn部署服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
关于 gunicorn 更详细的使用方法,可以查看gunicorn 官方文档进一步了解。
相关文章
python使用DrissionPage库进行网页自动化操作和数据提取
随着自动化测试、数据抓取和网页交互应用的日益增多,在众多的自动化库中,DrissionPage 作为一个新兴的库,以其简洁易用和强大的功能受到越来越多开发者的关注,本文将介绍如何使用 DrissionPage 进行网页自动化操作和数据提取,需要的朋友可以参考下2024-11-11
解决python中遇到字典里key值为None的情况,取不出来的问题
今天小编就为大家分享一篇解决python中遇到字典里key值为None的情况,取不出来的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-10-10
Python使用Selenium、PhantomJS爬取动态渲染页面
本文主要介绍了Python使用Selenium、PhantomJS爬取动态渲染页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-05-05
django为Form生成的label标签添加class方式
这篇文章主要介绍了django为Form生成的label标签添加class方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-05-05


最新评论