Introduction
Dans ce laboratoire, nous allons apprendre à déployer une application Flask sur un serveur. Nous allons créer un fichier de distribution pour notre application et l'installer sur le serveur. Le laboratoire suppose que vous avez une compréhension de base de Flask, des environnements virtuels de Python et de la ligne de commande.
Note : Vous devez créer le fichier de code vous-même et l'exécuter dans l'environnement. Vous pouvez prévisualiser l'état du service Flask sur Web 5000.
Build the Application
Tout d'abord, nous devons créer un fichier wheel pour notre application. Nous allons utiliser l'outil build à cet effet. Installez l'outil build avec pip si vous ne l'avez pas déjà fait :
## Install the build tool
pip install build
Maintenant, utilisez l'outil build pour créer le fichier wheel :
## Build the wheel file
python -m build --wheel
Le fichier wheel devrait se trouver dans le répertoire dist avec un nom comme flaskr-1.0.0-py3-none-any.whl.
Install the Application on the Server
Copiez le fichier wheel sur votre serveur. Une fois que vous y êtes, configurez un nouvel environnement virtuel Python et installez le fichier wheel avec pip :
## Install the wheel file
pip install flaskr-1.0.0-py3-none-any.whl
Puisque c'est un nouvel environnement, vous devez initialiser la base de données à nouveau :
## Initialize the database
flask --app flaskr init-db
Configure the Secret Key
Dans un environnement de production, vous devriez changer la clé secrète en une valeur aléatoire. Pour générer une clé secrète aléatoire, exécutez la commande suivante :
## Generate a random secret key
python -c 'import secrets; print(secrets.token_hex())'
Créez un fichier config.py dans le dossier instance et définissez SECRET_KEY sur la valeur générée.
#.venv/var/flaskr-instance/config.py
SECRET_KEY = 'your_generated_secret_key'
Run the Application with a Production Server
Pour un environnement de production, vous devriez utiliser un serveur WSGI au lieu du serveur de développement intégré. Nous allons utiliser Waitress comme notre serveur WSGI.
Tout d'abord, installez Waitress :
## Install Waitress
pip install waitress
Maintenant, indiquez à Waitress de servir votre application :
## Run the application with Waitress
waitress-serve --call 'flaskr:create_app'
Summary
Dans ce laboratoire, nous avons appris à déployer une application Flask sur un serveur de production. Nous avons empaqueté notre application en un fichier wheel, l'installé sur le serveur, configuré la clé secrète et exécuté l'application avec un serveur WSGI de production.