Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >部署flask

部署flask

作者头像
超蛋lhy
发布于 2019-04-07 06:43:51
发布于 2019-04-07 06:43:51
2.6K00
代码可运行
举报
文章被收录于专栏:PythonistaPythonista
运行总次数:0
代码可运行

部署

当我们执行下面的hello.py时,使用的flask自带的服务器,完成了web服务的启动。在生产环境中,flask自带的服务器,无法满足性能要求,我们这里采用Gunicorn做wsgi容器,来部署flask程序。Gunicorn(绿色独角兽)是一个Python WSGI的HTTP服务器。从Ruby的独角兽(Unicorn )项目移植。该Gunicorn服务器与各种Web框架兼容,实现非常简单,轻量级的资源消耗。Gunicorn直接用命令启动,不需要编写配置文件,相对uWSGI要容易很多。

区分几个概念:

WSGI:全称是Web Server Gateway Interface(web服务器网关接口),它是一种规范,它是web服务器和web应用程序之间的接口。它的作用就像是桥梁,连接在web服务器和web应用框架之间。

uwsgi:是一种传输协议,用于定义传输信息的类型。

uWSGI:是实现了uwsgi协议WSGI的web服务器。

我们的部署方式: nginx + gunicorn + flask

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# hello.py

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
    return '<h1>hello world</h1>'

if __name__ == '__main__':
    app.run(debug=True)

使用Gunicorn:

web开发中,部署方式大致类似。简单来说,前端代理使用Nginx主要是为了实现分流、转发、负载均衡,以及分担服务器的压力。Nginx部署简单,内存消耗少,成本低。Nginx既可以做正向代理,也可以做反向代理。

正向代理:请求经过代理服务器从局域网发出,然后到达互联网上的服务器。

特点:服务端并不知道真正的客户端是谁。

反向代理:请求从互联网发出,先进入代理服务器,再转发给局域网内的服务器。

特点:客户端并不知道真正的服务端是谁。

区别:正向代理的对象是客户端。反向代理的对象是服务端。

安装gunicorn
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install gunicorn

查看命令行选项: 安装gunicorn成功后,通过命令行的方式可以查看gunicorn的使用信息。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$gunicorn -h

直接运行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#直接运行,默认启动的127.0.0.1::8000
gunicorn 运行文件名称:Flask程序实例名

指定进程和端口号: -w: 表示进程(worker)。 -b:表示绑定ip地址和端口号(bind)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$gunicorn -w 4 -b 127.0.0.1:5001 运行文件名称:Flask程序实例名

安装Nginx

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ sudo apt-get install nginx

Nginx配置:

默认安装到/usr/local/nginx/目录,进入目录。

启动nginx:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#启动
sudo sbin/nginx
#查看
ps aux | grep nginx
#停止
sudo sbin/nginx -s stop

打开/usr/local/nginx/conf/nginx.conf文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
server {
    # 监听80端口
    listen 80;
    # 本机
    server_name localhost; 
    # 默认请求的url
    location / {
        #请求转发到gunicorn服务器
        proxy_pass http://127.0.0.1:5001; 
        #设置请求头,并将头信息传递给服务器端 
        proxy_set_header Host $host; 
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-03-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
29. Flask 部署项目 nginx + gunicorn + flask
当我们执行下面的hello.py时,使用的flask自带的服务器,完成了web服务的启动。在生产环境中,flask自带的服务器,无法满足性能要求。
Devops海洋的渔夫
2020/02/18
6.8K0
29. Flask 部署项目  nginx + gunicorn + flask
python部署-Flask+uwsgi+Nginx
flask即Python代码:部分参考代码如下,相信很多人如果看到这篇文章一定有flask的代码能力。
Se7eN_HOU
2020/04/16
9350
python web 部署:nginx + gunicorn + supervisor + flask 部署笔记
python web 部署 web开发中,各种语言争奇斗艳,web的部署方面,却没有太多的方式。简单而已,大概都是 nginx 做前端代理,中间 webservice 调用程序脚本。大概方式:nginx + webservice + script nginx 不用多说,一个高性能的web服务器。通常用来在前端做反向代理服务器。所谓正向与反向(reverse),只是英文说法翻译。代理服务,简而言之,一个请求经过代理服务器从局域网发出,然后到达互联网上服务器,这个过程的代理为正向代理。如果一个请求,从互联网过
小小科
2018/05/03
1.5K0
python web 部署:nginx + gunicorn + supervisor + flask 部署笔记
Python3+uWSGI+Nginx部署Flask
第一次在服务器上面部署Flask应用程序,踩了挺多坑,还好最终成功部署,记录一下。
Naraku
2021/07/29
1.5K0
Flask测试和部署
我们学习Flask框架,是从写单个文件,执行hello world开始的。我们在这单个文件中可以定义路由、视图函数、定义模型等等。但这显然存在一个问题:随着业务代码的增加,将所有代码都放在单个程序文件中,是非常不合适的。这不仅会让代码阅读变得困难,而且会给后期维护带来麻烦。
py3study
2020/01/16
1.1K0
Flask与WSGI
刚开始接触到python及Flask框架时,总是会听到 wsgi等等相关的名词,以及 项目部署时会用到nginx+gunicorn等等,但是对于一个请求从 nignx到gunicorn再到falsk框架中间经历的却一直似懂非懂。现在总结一下。
用户1558882
2018/10/25
1.4K0
Flask项目Docker容器化部署原理与实现
本文将介绍Flask的部署方案:Flask + Nginx + uWSGI,并使用docker进行容器化部署,部署的实例来源 Flask开发初探,操作系统为ubuntu。
oYabea
2020/09/07
1.6K0
django、flask和tornado区别
在python的web开发框架中,目前使用量最高的几个是django、flask和tornado, 经常会有人拿这几个对比,相信大家的初步印象应该是 django大而全、flask小而精、tornado性能高。
Python之道
2021/03/05
1.4K0
django、flask和tornado区别
Flask 学习-91.使用 gunicorn 部署 flask
flask 启动访问平常开发的时候可以用命令行flask run运行,正式部署到线上环境不会这样用。
上海-悠悠
2023/01/03
1.5K0
Flask 学习-91.使用 gunicorn 部署 flask
如何在CentOs 6.4 上使用uWSGI+Nginx部署Flask Web服务器
Armin Ronacher的Flask是过去几年中为Python创建的Web应用程序框架领域中发生过的最伟大的事情之一。
藕丝空间
2018/08/06
1.6K0
python部署项目为什么要用Nginx和uWSGI
    说明1:当我们直接用编译器运行Flask项目的时候,会有一个提示:意思就是:这是开发环境的服务器,不能用于生产环境的部署,请使用WSGI的服务器替换
Se7eN_HOU
2024/02/29
5870
python部署项目为什么要用Nginx和uWSGI
[1269]使用gunicorn部署flask项目
flask 自带的web服务器可用于开发环境运行调试,不适合部署在生产环境,无法满足线上的性能要求。当使用app.run(host = '0.0.0.0',port=6000)启动时,flask框架会有一段 WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
周小董
2024/03/10
1.7K0
[1269]使用gunicorn部署flask项目
Flask 项目部署(Docker + Flask + uwsgi + Nginx)
近期参加比赛,原本 windows server 部署的 Flask 后端项目所用的服务器快要过期了,开始改用 Linux 服务器部署。
Gorit
2021/12/08
5K0
Flask 项目部署(Docker + Flask + uwsgi + Nginx)
区分wsgi、uWSGI、uwsgi、php-fpm、CGI、FastCGI
在学习Python web开发时候,可能会遇到诸如uwsgi,wsgi等名词,下面通过梳理总结探究它们之间的关系。
DevOps在路上
2023/05/16
8820
区分wsgi、uWSGI、uwsgi、php-fpm、CGI、FastCGI
python web 部署:nginx + gunicorn + supervisor + flask 部署笔记
python web 部署 web开发中,各种语言争奇斗艳,web的部署方面,却没有太多的方式。 简单而已,大概都是 nginx 做前端代理,中间 webservice 调用 程序脚本。大概方式:nginx + webservice + script nginx 不用多说,一个高性能的web服务器。通常用来在前端做反向代理服务器。 所谓正向与反向(reverse),只是英文说法翻译。代理服务,简而言之, 一个请求经过代理服务器从局域网发出,然后到达互联网上服
小小科
2018/05/02
2.5K0
flask部署到nginx_flask部署404
虽然flask的开发模式也是可以作为一个web 服务器使用的,但是同一个客户端ip请求同一个服务器ip好像是相互阻塞的。也就是说,我在访问页面A的时候(A正在加载中),然后再去访问页面B,页面B会延迟一会儿才能加载出来。然后使用如下的flask的命令行多开了几个进程能够快一些,但是这也不能解决本质,所以才想到要用flask+nginx+uWSGI来实现这个项目。
全栈程序员站长
2022/10/01
3.1K0
flask部署到nginx_flask部署404
flask wsgi部署
flask自带的开发Web服务器表现很差,响应慢,而且直接通过nginx进行反向代理,经常无法响应请求。有两个可以在生产环境中使用、性能良好且支持Flask程序的服务器,分别是Gunicorn和uWSGI,但是这两个模块不提供对window的支持。
用户5760343
2019/08/20
1.3K0
一文读懂Python web框架和web服务器之间的关系
我们都知道 Python 作为一门强大的语言,能够适应快速原型和较大项目的制作,因此被广泛用于 web 应用程序的开发中。
Python编程与实战
2019/12/05
1.5K0
基于Python的自动化测试平台开发你要理解的:uWSGI
在我们使用Django开发自动化测试平台时,最必不可少的步骤是在服务器上部署它。在开发阶段中,对于Django项目我们使用的web服务器一般都是自带的runserver, 但是runserver从内存和工作效率上来讲是不够的。
TestOps
2022/04/07
4660
基于Python的自动化测试平台开发你要理解的:uWSGI
腾讯云双十一活动:腾讯云轻量应用服务器快速搭建Python开发环境指南
双十一不仅仅是购物狂欢节,对于希望享受高性能云服务的企业和开发者而言,更是入手腾讯云产品的绝佳时机!然而,面对琳琅满目的产品与各种优惠活动,如何才能买到性价比最高的产品?本文将为你深入剖析腾讯云双十一的优惠机制,教你如何用最少的预算获取最佳的云服务配置,助你在年末冲刺中脱颖而出。
一键难忘
2024/11/10
4681
腾讯云双十一活动:腾讯云轻量应用服务器快速搭建Python开发环境指南
推荐阅读
相关推荐
29. Flask 部署项目 nginx + gunicorn + flask
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验