Déployer une application web Python sur une machine virtuelle dans Azure Stack Hub

Vous pouvez créer une machine virtuelle pour héberger votre application web Python dans Azure Stack Hub. Dans cet article, vous installez un serveur et vous le configurez pour qu’il héberge votre application web Python, puis vous déployez l’application sur Azure Stack Hub.

Cet article utilise Python 3.x avec Flask dans un environnement virtuel sur un serveur Nginx. Utilisez Ubuntu Server 18.04 LTS de la Place de marché Azure Stack Hub.

Créer une machine virtuelle

  1. Configurez votre machine virtuelle dans Azure Stack Hub en suivant les instructions fournies dans Déployer une machine virtuelle Linux pour héberger une application web dans Azure Stack Hub. Utilisez Ubuntu Server 18.04 LTS de la Place de marché Azure Stack Hub.

  2. Dans le volet du réseau de machines virtuelles, vérifiez que les ports suivants sont accessibles :

    Port Protocol Description
    80 HTTP HTTP (Hypertext Transfer Protocol) est le protocole utilisé pour fournir des pages web à partir des serveurs. Les clients se connectent via HTTP avec une adresse IP ou un nom DNS.
    443 HTTPS HTTPS (Hypertext Transfer Protocol Secure) est une version sécurisée du protocole HTTP qui nécessite un certificat de sécurité pour la transmission chiffrée des informations.
    22 SSH SSH (Secure Shell) est un protocole réseau chiffré pour les communications sécurisées. Vous utilisez cette connexion avec un client SSH pour configurer la machine virtuelle et déployer l’application.
    3389 RDP facultatif. Le protocole RDP (Remote Desktop Protocol) permet d’utiliser une connexion Bureau à distance avec une interface graphique utilisateur sur votre machine.
    5000 et 8000 Custom Ports utilisés par le framework web Flask dans le développement. Pour un serveur de production, vous routez le trafic par les ports 80 et 443.
  3. Dans le volet Vue d’ensemble, sélectionnez Configurer sous Nom DNS.

  4. Sélectionnez Statique, puis nommez la machine de façon à avoir un nom DNS comme : <yourmachine>.<local>.cloudapp.azurestack.contoso.com.

Installation de Python

  1. Connectez-vous à votre machine virtuelle en utilisant votre client SSH. Pour obtenir des instructions, voir Se connecter par SSH avec PuTTy.

  2. À l’invite Bash sur votre machine virtuelle, entrez la commande suivante :

    sudo apt-get update
    sudo apt-get -y install python3 python3-dev
    sudo apt install python3-pip
    
  3. Validez votre installation. En étant toujours connecté à votre machine virtuelle dans votre session SSH, entrez la commande suivante pour ouvrir Python, puis notez le numéro de version. Tapez ensuite quit() pour quitter le REPL Python.

    python3
    quit()
    
  4. Installez Nginx, un serveur web léger. Tout en restant connecté à votre machine virtuelle dans votre session SSH, entrez la commande suivante :

    sudo apt-get -y install nginx
    
  5. Installez Git, système couramment utilisé pour la gestion du code source et des versions. Tout en restant connecté à votre machine virtuelle dans votre session SSH, entrez la commande suivante :

    sudo apt-get -y install git
    

Déployer et exécuter l’application

  1. Configurez votre référentiel Git sur la machine virtuelle. Tout en restant connecté à votre machine virtuelle dans votre session SSH, entrez les commandes suivantes :

       git clone https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world.git
    
       cd azure-stack-hub-flask-hello-world
    
  2. En restant connecté à votre machine virtuelle dans votre session SSH, entrez les commandes suivantes pour installer les dépendances. Installez Flask en utilisant apt, puis pip pour charger les modules à partir de requirements.txt.

    sudo apt install python3-flask
    pip3 install -r requirements.txt
    
    export FLASK_APP=application.py
    flask run -h 0.0.0.0
    
  3. Accédez au nouveau serveur. Vous devriez voir votre application web en cours d’exécution.

    <yourmachine>.<local>.cloudapp.azurestack.contoso.com:5000
    

Mettre à jour le serveur

  1. Connectez-vous à votre machine virtuelle dans votre session SSH. Arrêtez le serveur en tapant Ctrl+C.

  2. Entrez les commandes suivantes :

    cd azure-stack-hub-flask-hello-world
    git pull
    
  3. Activez l’environnement virtuel et démarrez l’application :

    export FLASK_APP=application.py
    flask run -h 0.0.0.0
    

Étapes suivantes