Distribuera en Python-webbapp till en virtuell dator i Azure Stack Hub

Du kan skapa en virtuell dator som värd för din Python-webbapp i Azure Stack Hub. I den här artikeln konfigurerar du en server, konfigurerar servern som värd för din Python-webbapp och distribuerar sedan appen till Azure Stack Hub.

Den här artikeln använder Python 3.x som kör Flask i en virtuell miljö på en Nginx-server. Använd Ubuntu Server 18.04 LTS från Azure Stack Hub Marketplace.

Skapa en virtuell dator

  1. Konfigurera din virtuella dator i Azure Stack Hub genom att följa anvisningarna i Distribuera en virtuell Linux-dator som värd för en webbapp i Azure Stack Hub. Använd Ubuntu Server 18.04 LTS från Azure Stack Hub Marketplace.

  2. Kontrollera att följande portar är tillgängliga i fönstret VM-nätverk:

    Port Protokoll Description
    80 HTTP HTTP (Hypertext Transfer Protocol) är det protokoll som används för att leverera webbsidor från servrar. Klienter ansluter via HTTP med ett DNS-namn eller en IP-adress.
    443 HTTPS Hypertext Transfer Protocol Secure (HTTPS) är en säker version av HTTP som kräver ett säkerhetscertifikat och tillåter krypterad överföring av information.
    22 SSH Secure Shell (SSH) är ett krypterat nätverksprotokoll för säker kommunikation. Du använder den här anslutningen med en SSH-klient för att konfigurera den virtuella datorn och distribuera appen.
    3389 RDP Valfritt. Med Remote Desktop Protocol (RDP) kan en fjärrskrivbordsanslutning använda ett grafiskt användargränssnitt på datorn.
    5000, 8000 Anpassat Portarna som används av Flask-webbramverket under utveckling. För en produktionsserver dirigerar du trafiken via 80 och 443.
  3. I fönstret Översikt väljer du Konfigurera under DNS-namn.

  4. Välj statisk och namnge sedan datorn så att du har ett DNS-namn, till exempel: <yourmachine>.<local>.cloudapp.azurestack.contoso.com.

Installera Python

  1. Anslut till den virtuella datorn med hjälp av SSH-klienten. Anvisningar finns i Ansluta via SSH med PuTTy.

  2. I bash-kommandotolken på den virtuella datorn anger du följande kommando:

    sudo apt-get update
    sudo apt-get -y install python3 python3-dev
    sudo apt install python3-pip
    
  3. Verifiera installationen. När du fortfarande är ansluten till den virtuella datorn i SSH-sessionen anger du följande kommando för att öppna Python och anteckna versionsnumret. Skriv quit() sedan för att avsluta Python REPL.

    python3
    quit()
    
  4. Installera Nginx, en enkel webbserver. När du fortfarande är ansluten till den virtuella datorn i SSH-sessionen anger du följande kommando:

    sudo apt-get -y install nginx
    
  5. Installera Git, ett allmänt distribuerat system för versionskontroll och källkodshantering (SCM). När du fortfarande är ansluten till den virtuella datorn i SSH-sessionen anger du följande kommando:

    sudo apt-get -y install git
    

Distribuera och kör appen

  1. Konfigurera din Git-lagringsplats på den virtuella datorn. När du fortfarande är ansluten till den virtuella datorn i SSH-sessionen anger du följande kommandon:

       git clone https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world.git
    
       cd azure-stack-hub-flask-hello-world
    
  2. När du fortfarande är ansluten till den virtuella datorn i SSH-sessionen anger du följande kommandon för att installera beroendena. Installera Flask med apt och sedan pip för att läsa in modulerna från 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. Gå till den nya servern. Du bör se din webbapp som körs.

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

Uppdatera servern

  1. Anslut till den virtuella datorn i SSH-sessionen. Stoppa servern genom att skriva Ctrl+C.

  2. Ange följande kommandon:

    cd azure-stack-hub-flask-hello-world
    git pull
    
  3. Aktivera den virtuella miljön och starta appen:

    export FLASK_APP=application.py
    flask run -h 0.0.0.0
    

Nästa steg