部署 Flask 应用程序

Beginner

This tutorial is from open-source community. Access the source code

简介

在本实验中,我们将学习如何将一个 Flask 应用部署到服务器上。我们会为我们的应用创建一个分发文件并将其安装在服务器上。本实验假设你对 Flask、Python 的虚拟环境以及命令行有基本的了解。

注意:你需要自己创建代码文件并在环境中运行它。你可以在 Web 5000 上预览 Flask 服务状态。

构建应用程序

首先,我们需要为我们的应用创建一个 wheel 文件。我们将为此使用build工具。如果你还没有安装build工具,请使用 pip 进行安装:

## 安装build工具
pip install build

现在,使用build工具来创建 wheel 文件:

## 构建wheel文件
python -m build --wheel

wheel 文件应该位于dist目录中,名称类似于flaskr-1.0.0-py3-none-any.whl

在服务器上安装应用程序

将 wheel 文件复制到你的服务器。文件传输到服务器后,设置一个新的 Python 虚拟环境,并使用 pip 安装该 wheel 文件:

## 安装wheel文件
pip install flaskr-1.0.0-py3-none-any.whl

由于这是一个新环境,你需要再次初始化数据库:

## 初始化数据库
flask --app flaskr init-db

配置密钥

在生产环境中,你应该将密钥更改为一个随机值。要生成一个随机密钥,请运行以下命令:

## 生成一个随机密钥
python -c 'import secrets; print(secrets.token_hex())'

在实例文件夹中创建一个config.py文件,并将SECRET_KEY设置为生成的值。

#.venv/var/flaskr-instance/config.py

SECRET_KEY = 'your_generated_secret_key'

使用生产服务器运行应用程序

对于生产环境,你应该使用 WSGI 服务器而不是内置的开发服务器。我们将使用 Waitress 作为我们的 WSGI 服务器。

首先,安装 Waitress:

## 安装Waitress
pip install waitress

现在,告诉 Waitress 来运行你的应用程序:

## 使用Waitress运行应用程序
waitress-serve --call 'flaskr:create_app'

总结

在本实验中,我们学习了如何将一个 Flask 应用部署到生产服务器上。我们将应用构建成一个 wheel 文件,安装到服务器上,配置密钥,并使用生产 WSGI 服务器运行该应用。