Déploiement de l'application FLASK sur Ubuntu (Apache + WSGI)

Déploiement de l'application FLASK sur Ubuntu (Apache + WSGI)

Flask est un cadre Web Python populaire et léger qui permet aux développeurs de créer facilement des applications Web. L'un des aspects clés du déploiement d'une application Flask est le choix du bon serveur Web et de l'interface de passerelle. Dans cet article, nous discuterons de la façon de déployer une application FLASK à l'aide d'Apache et de WSGI (interface de passerelle de serveur Web) sur un système basé sur Linux. Apache est un serveur Web puissant et largement utilisé, tandis que WSGI est une interface standard entre les serveurs Web et les applications Python.

Ce guide complet vous guidera tout au long du processus de déploiement d'une application Flask avec Apache et WSGI sur une machine Linux. À la fin de ce tutoriel, vous aurez une application Fonctional Flask exécutée sur un serveur Web Apache avec WSGI comme interface.

Conditions préalables

Pour déployer une application Flask sur Ubuntu, vous devrez installer les conditions suivantes:

  • Python 3: Flask est un framework Web Python, vous devrez donc faire installer Python sur votre serveur.
  • Ballon: Vous devrez installer Flask à l'aide de PIP, le gestionnaire de packages Python.
  • Apache2: Apache est un serveur Web populaire qui peut être utilisé pour héberger des applications FLASK.
  • mod_wsgi: Ce module Apache est utilisé pour s'interfacer avec des applications Web compatibles WSGI comme Flask.

Étape 1: Démarrer l'installation des packages

Commençons par l'installation de packages requis sur votre système à l'aide des étapes suivantes:

  1. Mettez à jour la liste des packages et améliorez tous les packages obsolètes:
    Mise à jour Sudo apt-get  SUDO APT-GET ANGRADE  
  2. Installez Python 3 et PIP:
    sudo apt-get install python3 python3-pip python3-venv  
  3. Installez apache2 et mod_wsgi:
    sudo apt-get install apache2 libapache2-mod-wsgi-py3 

Étape 2: Configurez votre application Flask

Créez un répertoire pour votre application et copiez tous les fichiers. Créez ensuite un environnement virtuel pour isoler votre application Flask et installer les packages requis.

  1. Créez un répertoire pour votre application Flask:
    MKDIR / VAR / WWW / FLASK-APP  CD / VAR / WWW / FLASK-APP  
  2. Copiez tous les fichiers de l'application Flask dans le répertoire que vous venez de créer
  3. Créez l'environnement virtuel pour votre application et activez-le:
    Python3 -M Venv Venv  Source Venv / Bin / Activate  
  4. Installez les bibliothèques requises dans l'environnement virtuel:
    Pip Install Flask  
  5. Créer un nouveau fichier python nommé appliquer.py dans le flaskapp Répertoire et ajouter le code suivant: De Flask Import Flask App = FLASK (__ Name__) @App.Route ('/') def Hello (): Retour 'Hello, World!'
    123456From Flask Import Flaskapp = Flask (__ Name__) @App.Route ('/') def Hello (): Retour 'Hello, World!'

    Cela crée une application de ballon simple qui revient "Bonjour le monde!" Lorsque vous accédez à l'URL racine.

Étape 3: Testez l'application Flask

Pour tester l'application FLASK, exécutez la commande suivante dans le terminal:

 exportation flask_app = application.py   Flash Run  

Cela devrait démarrer le serveur de développement FLASK. Ouvrez votre navigateur Web et allez à http: // localhost: 5000. Tu devrais voir "Bonjour le monde!" affiché dans votre navigateur.

Étape 4: Créer un fichier de configuration WSGI

  1. Créez un point d'entrée WSGI pour votre application Flask:
    nano / var / www / flaskapp / flaskapp.wsgi  
  2. Collez le code suivant dans le fichier, en remplaçant «flaskapp» par le nom de votre application: Importer sys Importer la journalisation sys.chemin.insérer (0, '/ var / www / flaskapp') sys.chemin.insérer (0, '/ var / www / flaskapp / venv / lib / python3.10 / site-packages / ') # configurer la journalisation de la journalisation.BasicConfig (stream = sys.stderr, niveau = journalisation.Débogue) # Importer et exécuter l'application FLASK à partir de l'application APP en tant qu'application
    1234567891011importer sysimport logging sys.chemin.insérer (0, '/ var / www / flaskapp') sys.chemin.insérer (0, '/ var / www / flaskapp / venv / lib / python3.10 / site-packages / ') # configurer le loging de loging.BasicConfig (stream = sys.stderr, niveau = journalisation.Débogue) # Importer et exécuter l'application Flask AppFrom apporte l'application en tant qu'application

  3. Enregistrez le fichier et fermez-le.

Étape 5: Configuration d'Apache

  1. Créez un fichier de configuration Apache pour votre application:
    sudo nano / etc / apache2 / sites-disponible / flaskapp.exemple.com.confli  
  2. Collez le code suivant dans le fichier, en remplaçant "Flaskapp" avec le nom de votre application et les chemins avec les chemins corrects pour votre configuration: servername flaskapp.exemple.com serveradmin webmaster @ localhost documentroot / var / www / flaskapp wsgidaemonprocess flaskapp threads = 5 wsgiscriptalias / / var / www / flaskapp / flaskapp.wsgi wsgiApplicationGroup% global wsgiprocessgroup flaskapp wsgiApplicationGroup% global commander de refuser, permettre à tous les erreurs $ apache_log_dir / flaskapp-error.log Customlog $ apache_log_dir / flaskapp-access.journal combiné
    123456789101112131415161718 Servername flaskapp.exemple.com serveradmin webmaster @ localhost documentroot / var / www / flaskapp wsgidaemonprocess flaskapp threads = 5 wsgiscriptalias / / var / www / flaskapp / flaskapp.wsgi wsgiApplicationGroup% global WsgiprocessGroup flaskapp wsgiApplicationGroup% global commander de refuser, autoriser à tous Errorlog $ apache_log_dir / flaskapp-error.log Customlog $ apache_log_dir / flaskapp-access.journal combiné

  3. Activer la nouvelle configuration Apache:
    sudo a2ensite flaskapp.exemple.com  
  4. Redémarrez Apache pour appliquer les modifications:
    service sudo apache2 redémarrer  

Votre application Flask devrait maintenant être opérationnelle sur votre serveur Ubuntu. Vous pouvez y accéder en visitant l'URL de votre serveur dans un navigateur Web.

Étape 6: Testez l'application Flask avec Apache

Pour tester l'application Flask avec Apache, ouvrez votre navigateur Web et allez à http: // flaskapp.exemple.com (Remplacez Flaskapp.exemple.com avec votre nom de domaine). Tu devrais voir «Bonjour, monde!”Affiché dans votre navigateur.

Toutes nos félicitations! Vous avez réussi à déployer une application Flask avec Apache et WSGI sur Linux.

Conclusion

Le déploiement d'applications FLASK avec Apache et WSGI sur Linux peut être difficile, mais c'est une étape cruciale pour rendre votre application disponible sur Internet. Ce guide complet vous a montré comment déployer une application Flask avec Apache et WSGI sur Linux, de la création d'une application Flask à la configuration d'Apache et à la création d'un script WSGI.

N'oubliez pas de toujours tester votre application après le déploiement et assurez-vous qu'il fonctionne bien. Avec ces connaissances, vous pouvez désormais déployer vos applications Flask en toute confiance et faire passer vos compétences en développement Web au niveau supérieur.