Flask部署

部署方式-flask

浅谈uWSGI和Nginx

【Flask】 利用uWSGI和Nginx发布Flask应用

CentOS 下用 Nginx 和 uwsgi 部署 flask 项目

uwsgi+flask 部署网站

【python Flask】用uwsgi 启动flask 服务方式

Python uWSGI 安装配置

Nginx+uwsgi+Flask部署

---------------分割线-----------------

Flask+gevent 异步 WEB 架构

from gevent import monkey
monkey.patch_all()

from flask import Flask
from gevent import pywsgi
                                       
app = Flask(__name__)
                                       
@app.route('/')
def index():
    return 'Hello World'
                                   
server = pywsgi.WSGIServer(('127.0.0.1', 5000), app)
server.serve_forever()

Flask + gevent部署Web项目

Flask实现异步非阻塞

pip install gevent
pip install gevent-websocket
pip install flask
import time
from gevent import monkey
from flask import Flask, request
from gevent.pywsgi import WSGIServer
from geventwebsocket.handler import WebSocketHandler
 
monkey.patch_all()
 
app = Flask(__name__)
 
app.config.update(
    DEBUG=True
)
 
@app.route('/test1/', methods=['GET'])
def test1():
	time.sleep(10)   # 为了模拟处理任务需要耗时,增加时间阻塞
	return 'hello asyn'
 
 
@app.route('/test2/', methods=['GET'])
def test2():
    time.sleep(1)
    return 'hello test'
 
 
if __name__ == "__main__":
    """
       使用flask自带的传递参数threaded与processes,也可以实现异步非阻塞,但是这个原理是
       同时开启多个线程或者多个进程来接受发送的请求,每个线程或者进程还是阻塞式处理任务
       如果想使用threaded或processes参数,必须将debug设置为False才能生效,不然不起作用
       同时Windows下不支持同时开启多进程,所以在win下使用processes无效
    """
    # app.run(host='0.0.0.0', port=10008, debug=False, threaded=True, processes=5)
    http_server = WSGIServer(('0.0.0.0', 5000), app, handler_class=WebSocketHandler)
    http_server.serve_forever()
上一篇:利用协程计算质数


下一篇:day41-并发编程-死锁、Eventj事件、池、协程、gevent模块