【Flask】 利用uWSGI和Nginx发布Flask应用
CentOS 下用 Nginx 和 uwsgi 部署 flask 项目
【python Flask】用uwsgi 启动flask 服务方式
---------------分割线-----------------
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()
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()