微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐