Flask 高并发部署方案详细教程!

前言

虽然标题写的是 Flask,但是下面这个教程不仅仅只适用于 Flask, 还适用于其他Python web 框架,记得帮忙点赞!

众所周知 Flask 是一个同步的框架,处理请求的时候是以单进程的方式,当同时访问的人数过多时,Flask 服务就会出现阻塞的情况。

就像我们买火车票一样,当买火车票的人多的时候,排队的人就会很多,队伍就会很长,相应的等待的时间会变得很长!

因此 Flask, Django,webpy 等框架自带的 web server 性能都很差,只能用来做测试用途,线上发布则需要选择更高性能的 wsgi server 。这里推荐的部署方式:nginx + gunicorn + flask + supervisor

其中每个服务代表的含义如下:

  • Nginx:高性能 Web 服务器+负载均衡;

  • gunicorn:高性能 WSGI 服务器;

  • gevent:把 Python 同步代码变成异步协程的库;

  • Supervisor:监控服务进程的工具;

这里有张图,能让你有个更直观的感受

你可能感兴趣的:(Flask 高并发部署方案详细教程!)