该系统采用前后端分离的设计思路
1.Web服务器:Nginx、Apache 用于处理和响应HTTP请求
想要把Flask写的Web应用放到服务器上供他人访问,你不可能让用户使用Flask的5000端口来访问你的Web应用
所以你需要Nginx这个Web服务器做一个反向代理 当用户访问你的域名时 nginx通过代理转到本地的5000端口
2.WSGI容器:uWsgi、Gunicorn
Web框架(Flask)和Web服务器(Nginx)之间的通信,需要一套双方都遵守的接口协议。而WSGI协议就是用来统一这两者的接口的(WSGI是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口)
Gunicorn和uWSGI是常用的WSGI容器,Gunicorn直接用命令启动,不需要编写配置文件,相对uWSGI要容易很多,所以这里我也选择用Gunicorn作为容器。(uWSGI让我更迷糊 Gunicorn简单点)