背景
由于目前在用的Flask项目涉及到一部分依赖Windows的处理,还无法迁移到linux平台,那么在windows
环境下,要怎么部署呢?
思路
根据Flask
官网介绍,由于Flask
内置的服务器性能不佳,推荐的主要的部署方式有如下几种:
上述这些部署方式,仅Tornado
是支持在windows
情况下部署的,配合上Nginx
可以达到比较好的效果。可已参考Nginx与tornado框架的并发评测。
但是在实际使用中发现,tornado
的稳定性虽然很高,但是在tornado
上部署Flask
,并不会有异步的效果。实际上还是单进程阻塞运行的,即使在Flask
中配置了threaded = True
也无法实现多线程使用。
Flask多线程情况
配置启用多线程:
# manage.py
from flask_script import Server
server = Server(host="0.0.0.0", threaded=True)
在Flask
中配置两条测试路由
import time
@main.route('/test')
def maintest():
return 'hello world'
@main.route('/sleep')
def mainsleep():
time.sleep(60)
return 'wake up'