FLASK

Flask提供了HTTP开发服务的框架,但是他本身不提供HTTP Server。内部集成的一个简单的Server只是用于开发调试。

Flask内部的HTTP服务只用于开发使用,在启动Flask run 的时候,也有提示:
WARNING: This is a development server. Do not use it in a production deployment

因为Flask不能提供一个稳定健壮的HTTP Server,所以HTTP Service必须依赖一个稳定的WSGI( Web Server Gateway Interface)容器来运行。

WSGI容器

flask官网介绍

官网上有很多WSGI容器的介绍,这里以gunicore为例,简单介绍一下使用过程。

第一步,修改启动文件

原来的服务一般是写在app.py里,或者类似的文件。
在该文件中,里面注册了FLASK的app实例。

如下:
myapp.py

# 省略部分代码。。。
app = Flask(__name__)app.register_blueprint(blueprint)
# 这里是执行函数,需要去掉
app.run()

这里把app.run去掉

第二步,新增wsgi.py文件

from myapp import appif __name__ == "__main__":app.run()

这一步是让wsgi容器调用的间接文件

第三步,使用gunicore执行flask app

gunicorn的启动是寻找flask的app

格式如下:
[project name][app name]

  • project name
    是刚才创建的wsgi.py,(名字不一定非要叫这个),去掉.py后就是name
  • app name
    是wsgi.py里app的名字,这里我们取名就叫app,所以也叫app

执行命令如下:
gunicorn --bind 0.0.0.0:5000 wsgi:app

WORKER TIMEOUT?

gunicorn会启动若干worker去执行http service(默认是1,同时会启动一个守护进程),
每个worker如果没有被调用,或者调用执行时间超过timeout(默认30s),则会被killed掉,同时会打印==[CRITICAL] WORKER TIMEOUT==

如果不想设置timeout可以通过参数 --timeout 0 去掉这个限制

更多参数设置请参考这里

Flask+gunicorn部署HTTP服务相关推荐

  1. flask + gunicorn部署(非常详尽)

    flask + gunicorn部署(非常详尽) 1.首先新建一个目录创建一下几个文件 app.py 就是非常普通的flask文件 from flask import Flaskapp = Flask ...

  2. PyTorch+Flask+Gunicorn 部署深度模型服务

    目录 简介 项目实现 模型实现 部署Flask服务 Gunicorn加速 性能测试 Python 多线程+requests ab工具 (可选)HTML网页端 总结 参考文献 简介 初入职场,对于训练完 ...

  3. flask+gunicorn部署

    1.flask flask实际上就是用来作为python部署服务的框架,方便别人调用你写的服务.本文主要记载下自己的使用过程 1.1.flask安装 pip install flask 1.2.fla ...

  4. gunicorn部署Flask服务

    作为一个Python选手,工作中需要的一些服务接口一般会用Flask来开发. Flask非常容易上手,它自带的app.run(host="0.0.0.0", port=7001)用 ...

  5. 利用flask写的接口(base64, 二进制, 上传视频流)+异步+gunicorn部署Flask服务+多gpu卡部署

    一.flask写的接口 1.1 manage.py启动服务(发送图片base64版) 这里要注意的是用docker的话,记得端口映射 #coding:utf-8 import base64 impor ...

  6. python flask gunicorn nginx 部署

    WSGI协议 Web框架致力于如何生成HTML代码,而Web服务器用于处理和响应HTTP请求.Web框架和Web服务器之间的通信,需要一套双方都遵守的接口协议.WSGI协议就是用来统一这两者的接口的. ...

  7. centos7 ifconfig命令找不到_centos7+mysql+gunicorn+flask项目部署

    前言 出于学习和实践的目的,近期自己写了一个小项目关于flask的API项目,涉及到服务器的上线部署问题,这里就做一个详细的记录和分享吧~欢迎一起交流学习指正~ 正文 一.centos7安装pytho ...

  8. Flask 应用部署方式之 Flask+Gunicorn+Nginx

    1. Why Flask+Gunicorn+Nginx Flask+Gunicorn+Nginx是最常用的Flask部署方案,大家深究过为何用这样的搭配么? 1.1 Why? Flask 是一个web ...

  9. 使用 Nginx + Gunicorn 部署 Flask 项目

    使用 Nginx + Gunicorn 部署 Flask 项目 Flask Web 项目开发完成后,开发人员只是在开发环境运行,只有本地可以访问到项目.如果要让用户访问到项目,需要将项目部署到生产环境 ...

最新文章

  1. 网络工程师成长日记333-某城市政府项目
  2. 机器人铁锈斑斑皮肤怎么买_脸上出现了皱纹,变难看,怎么办?几招轻松改善皱纹...
  3. 简单的CSS颜色查看工具
  4. 汇编实验 分类统计字符个数(debug中查看统计结果)
  5. Hbase 高级特性Bloom filter
  6. Sub-process /usr/bin/dpkg returned an error code (1)解决办法
  7. python面试题之Python是如何进行内存管理的
  8. bat文件如何获取输入内容并写入文件
  9. mysql 远程虚拟主机_navicat 远程连接虚拟机MYSQL数据库
  10. DS控件库 Win7链接列表框效果1:右侧箭头
  11. 【短时能量】基于matlab语音信号短时能量【含Matlab源码 1719期】
  12. Mac安装mysql 8.0.21
  13. 功能测试Ⅷ——业务流程测试
  14. 手游反抗战兴起,《原神》打响“起义“第一枪
  15. 10.1 Python图像处理之边缘算子-Sobel算子、Roberts算子、拉普拉斯算子、Canny算子、Prewitt算子、高斯拉普拉斯算子
  16. qq撤回的消息会在服务器,如何查看qq撤回的消息_查看qq被撤回消息的方法
  17. 2016--MatConvNet Convolutional Neural Networks for MATLAB
  18. 手把手教你使用wordpress搭建个人网站
  19. EasyUI多级表头设置
  20. 报错解决方案参考:《xv6分析与实验》中关于qemu运行报错解决方法

热门文章

  1. Android学习书籍参考
  2. struts2拦截器_Struts2 学习笔记(二)
  3. eclipse可以写前端吗_Python 竟然也可以写网页前端了!
  4. 如何在 5 分钟内建立一个数据驱动的新型冠状病毒肺炎应用程序
  5. 134人!国家重点研发计划“生物大分子与微生物组”重点专项会评专家名单
  6. QIIME 2用户文档. 14数据评估和质控Evaluating and controlling(2019.7)
  7. PLOS Biology: 发现一种固氮玉米
  8. 16S预测细菌组表型-bugbase:革兰氏阴阳、生物膜、致病力、移动元件、氧气消耗等
  9. R语言使用aov函数进行双因素方差分析(Two-way factorial ANOVA)、在双因素方差分析中,受试者被分配到由两个因素交叉分类形成的组(Two-way factorial ANOVA)
  10. R语言dplyr包对数据进行超前或者之后处理(lead、lag)实战