Flask在Windows环境下的部署

本文探讨了在Windows下部署Flask应用的策略,包括Flask多线程、Tornado+Flask的异步问题,以及在高并发场景下Flask与Nginx的组合表现。通过压力测试,得出结论:在并发较低时,Flask+Nginx+多服务器能有效提升性能,但大型项目建议迁移到Linux环境并采用推荐部署方式。
摘要由CSDN通过智能技术生成

背景

由于目前在用的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'
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值