Een Python-web-app implementeren op een virtuele Azure Stack Hub

U kunt een VM maken voor het hosten van uw Python-web-app in Azure Stack Hub. In dit artikel stelt u een server in, configureert u de server voor het hosten van uw Python-web-app en implementeert u de app vervolgens in Azure Stack Hub.

In dit artikel wordt Python 3.x gebruikt om Flask uit te voeren in een virtuele omgeving op een Nginx-server. Gebruik Ubuntu Server 18.04 LTS van de Azure Stack Hub Marketplace.

Een virtuele machine maken

  1. Stel uw VM in Azure Stack Hub door de instructies te volgen in Deploy a Linux VM to host a web app in Azure Stack Hub. Gebruik Ubuntu Server 18.04 LTS van de Azure Stack Hub Marketplace.

  2. Zorg ervoor dat in het deelvenster VM-netwerk de volgende poorten toegankelijk zijn:

    Poort Protocol Description
    80 HTTP Hypertext Transfer Protocol (HTTP) is het protocol dat wordt gebruikt voor het leveren van webpagina's van servers. Clients maken verbinding via HTTP met een DNS-naam of IP-adres.
    443 HTTPS Hypertext Transfer Protocol Secure (HTTPS) is een beveiligde versie van HTTP die een beveiligingscertificaat vereist en de versleutelde overdracht van gegevens toestaat.
    22 SSH Secure Shell (SSH) is een versleuteld netwerkprotocol voor beveiligde communicatie. U gebruikt deze verbinding met een SSH-client om de VM te configureren en de app te implementeren.
    3389 RDP Optioneel. Met Remote Desktop Protocol (RDP) kan een externe bureaubladverbinding een grafische gebruikersinterface op uw computer gebruiken.
    5000, 8000 Aangepast telefoonnummer De poorten die worden gebruikt door het Flask-web-framework in ontwikkeling. Voor een productieserver routeert u uw verkeer via 80 en 443.
  3. Selecteer configureren onder DNS-naam in het deelvenster Overzicht.

  4. Selecteer statisch en noem de machine zo dat u een DNS-naam hebt, zoals: .

Python installeren

  1. Verbinding maken met uw VM met behulp van uw SSH-client. Zie voor instructies Verbinding maken via SSH met PuTTy.

  2. Voer bij de bash-prompt op uw VM de volgende opdracht in:

    sudo apt-get update
    sudo apt-get -y install python3 python3-dev
    sudo apt install python3-pip
    
  3. Valideer de installatie. Terwijl u nog steeds verbonden bent met uw VM in uw SSH-sessie, voert u de volgende opdracht uit om Python te openen en noteer het versienummer. Typ vervolgens om quit() de Python REPL af te sluiten.

    python3
    quit()
    
  4. Installeer Nginx, een lichtgewicht webserver. Terwijl u nog steeds verbonden bent met uw VM in uw SSH-sessie, voert u de volgende opdracht in:

    sudo apt-get -y install nginx
    
  5. Installeer Git, een algemeen gedistribueerd versiebeheer- en broncodebeheersysteem (SCM). Terwijl u nog steeds verbonden bent met uw VM in uw SSH-sessie, voert u de volgende opdracht in:

    sudo apt-get -y install git
    

De app implementeren en uitvoeren

  1. Stel uw Git-opslagplaats in op de VM. Voer de volgende opdrachten in terwijl u nog steeds bent verbonden met uw VM in uw SSH-sessie:

       git clone https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world.git
    
       cd azure-stack-hub-flask-hello-world
    
  2. Terwijl u nog steeds verbonden bent met uw VM in uw SSH-sessie, voert u de volgende opdrachten in om de afhankelijkheden te installeren. Installeer Flask met behulp van apt en vervolgens pip om de modules uit te laden 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. Ga naar uw nieuwe server. Als het goed is, ziet u de webtoepassing die wordt uitgevoerd.

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

Uw server bijwerken

  1. Verbinding maken aan uw VM in uw SSH-sessie. Stop de server door Ctrl+C te typen.

  2. Voer de volgende opdrachten in:

    cd azure-stack-hub-flask-hello-world
    git pull
    
  3. Activeer de virtuele omgeving en start de app:

    export FLASK_APP=application.py
    flask run -h 0.0.0.0
    

Volgende stappen