Dela via


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 den virtuella datorn 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 nätverksfönstret för den virtuella datorn:

    Hamn Protokoll Beskrivning
    80 HTTP Hypertext Transfer Protocol (HTTP) ä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 möjliggör 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 Valfri. Med RDP (Remote Desktop Protocol) kan en fjärrskrivbordsanslutning använda ett grafiskt användargränssnitt på datorn.
    5000, 8000 Anpassad 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 som: <yourmachine>.<local>.cloudapp.azurestack.contoso.com.

Installera Python

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

  2. I bash-prompten 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 sedan quit() 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. 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öra 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 hjälp av apt och därefter pip för att ladda 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 körande webbtillämpning.

    <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