python 部署 flask---搭建 flask+gunicorn+nginx后台服务

前言

解决flask部署服务后台不稳定,容易down的问题。在Linux 平台下直接nohub启动flask服务虽然可以在后台运行,但极其不稳定,容易挂掉。如何保持后台的服务进程稳定运行是一件非常重要的事情。而本文的一个解决方法是flask+gunicorn+nginx。flask和gunicorn都是python下的轻量级的web开发服务。flask实现了web路由方法,gunicorn负责启动监听flask服务,而nginx是做一个反向代理。若您有更好的解决方案望告知!!!

Webpaltform WSGI Nginx Web_client 4.后台返回 3.到达后台 5.返回给Nginx 2.分发 6.客户端接收 1 .请求 Webpaltform WSGI Nginx Web_client

1.部署平台

1.1. 系统:Centos 7.7
1.2. 开发语言:python3.6
1.3. 相关工具:falsk, gunicorn, nginx

2.各功能简介

2.1 flask 介绍

  • 简介

flask是一个基于python 的Web 微框架
Python的著名Web框架有Django、Pyramid、Tornado、webpy、Zope等

Flask由两个主要依赖组成(提供路由、调试和Web服务器网关接口的Werkzeug和提供模板的Jinja2)

  • 安装
  • pip install flask

  • 例子
创建文件demo.py, 代码如下
from flask import Flask
app = Flask(__name__)
 
@app.route('/')
def test():
    return 'Falsk demo!'
 
if __name__ == '__main__':
    app.run(host="0.0.0.0", port=8080, debug=True)

效果

2.2 gunicorn介绍

  • 简介

gunicorn 是一个WSGI容器

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

  • 安装
pip install gunicorn
  • 例子
$ gunicorn --worker=3 demo:app -b 0.0.0.0:8080

在centos 下使用 nohub命令执行
nohup是一个 Linux 命令,和 & 一起使用,根目录生成一个 nohup.out文件记录所有的 log 信息

$ nohup gunicorn --worker=3 demo:app -b 0.0.0.0:8080&

在这里插入图片描述

2.3 nginx 介绍

  • 简介

Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强

  • 安装

安装有两种方式直接安装或者源码编译安装

#省略部分过程,如添加nginx 源
$ sudo yum install epel-release
$ sudo yum install nginx
  • 例子
#启动 ,ngnix 目录下(也有别的启动方法)
$ ./niginx

在这里插入图片描述

如果要实现对gunicorn 的反向代理需要设置 nginx.conf

在这里插入图片描述

Ven 环境安装参考

https://blog.csdn.net/wengzilai/article/details/78722626

如有不足请批评指正!!!

参考文献

[1] https://www.jianshu.com/p/52d8e3deaa16
[2] https://segmentfault.com/a/1190000018109309
[3] https://www.zhihu.com/question/21888077

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值