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
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.
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. Dans le volet Vue d’ensemble, sélectionnez Configurer sous Nom DNS.
Sélectionnez Statique, puis nommez la machine de façon à avoir un nom DNS comme :
<yourmachine>.<local>.cloudapp.azurestack.contoso.com
.
Installation de Python
Connectez-vous à votre machine virtuelle en utilisant votre client SSH. Pour obtenir des instructions, voir Se connecter par SSH avec PuTTy.
À 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
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()
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
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
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
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
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
Connectez-vous à votre machine virtuelle dans votre session SSH. Arrêtez le serveur en tapant Ctrl+C.
Entrez les commandes suivantes :
cd azure-stack-hub-flask-hello-world git pull
Activez l’environnement virtuel et démarrez l’application :
export FLASK_APP=application.py flask run -h 0.0.0.0
Étapes suivantes
- Découvrez comment développer pour Azure Stack Hub.
- Découvrez les déploiements courants pour Azure Stack Hub en IaaS.
- Pour apprendre le langage de programmation Python et trouver des ressources supplémentaires sur Python, voir Python.org.