Flask 项目部署上线
1.Gunicorn
Gunicorn 是一个纯 Python WSGI 服务器,配置简单,多工作者实现,方便 性能调优。
-
它倾向于与主机平台轻松集成。
-
它不支持 Windows (但可以在 WSL 上运行)。
-
它很容易安装,因为不需要额外的依赖或编译。
-
它有内置的异步工作者,支持使用 gevent 或 eventlet。
创建虚拟环境:
python3 -m venv .venv
# 激活虚拟环境
source .venv/bin/activate
# 升级pip工具
python3 -m pip install --upgrade pip
#安装需要的第三方包
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
运行项目:
python run.py
页面访问:
安装 gunicorn
第三方包:
pip install gunicorn
启动项目
python3 -m gunicorn market:app -b 0.0.0.0:5000
# 后台启动
nohup python3 -m gunicorn market:app -b 0.0.0.0:5000 >> gunicorn.log 2>&1 &
页面能够正常访问
2.Waitress
Waitress 是一个纯 Python 的 WSGI 服务器。
-
它很容易配置。
-
它直接支持 Windows 。
-
它很容易安装,因为它不需要额外的依赖或编译。
-
它不支持流式请求,完整的请求数据总是被缓冲。
-
它使用一个具有多个线程工作者的单一进程。
虚拟环境已经相关依赖的安装同 Gunicorn
章节,这里就不再重复。
安装 waitress
:
pip3 install waitress -i https://pypi.tuna.tsinghua.edu.cn/simple/
使用 waitress
启动项目:
waitress-serve --host 0.0.0.0 --port 5000 market:app
后台启动:
# 后台启动
nohup waitress-serve --host 0.0.0.0 --port 5000 market:app >> gunicorn.log 2>&1 &
页面能够正常登录访问:
3.uWSGI
uWSGI 是一个快速、编译的服务器套件,相较于基本的服务器具有更广泛的 配置和功能。
-
由于是编译过的程序,它具有很好的性能。
-
相较于基本的应用,它的配置很复杂,有很多的选项。因此,对于新手来 来说,上手是有难度的。
-
它不支持 Windows (但可以在 WSL 上运行)。
-
在某些情况下,它需要一个编译器来安装。
虚拟环境已经相关依赖的安装同 Gunicorn
章节,这里就不再重复。
安装 uwsgi
:
pip3 install pyuwsgi -i https://pypi.tuna.tsinghua.edu.cn/simple/
使用 uwsgi
启动项目:
uwsgi --http 0.0.0.0:5000 --master -p 4 -w market:app
后台启动:
nohup uwsgi --http 0.0.0.0:5000 --master -p 4 -w market:app >> gunicorn.log 2>&1 &
前台能够正常访问页面: