【Flask】Flask项目部署上线

时间:2024-03-27 10:52:07

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 &

前台能够正常访问页面: