Condividi tramite


Distribuire un'app Web Python in una macchina virtuale nell'hub di Azure Stack

È possibile creare una macchina virtuale per ospitare l'app Web Python nell'hub di Azure Stack. In questo articolo si configura un server, si configura il server per ospitare l'app Web Python e quindi si distribuisce l'app nell'hub di Azure Stack.

Questo articolo usa Python 3.x che esegue Flask in un ambiente virtuale in un server Nginx. Usare Ubuntu Server 18.04 LTS dal Marketplace dell'hub di Azure Stack.

Creare una VM

  1. Configurare la macchina virtuale nell'hub di Azure Stack seguendo le istruzioni in Distribuire una macchina virtuale Linux per ospitare un'app Web nell'hub di Azure Stack. Usare Ubuntu Server 18.04 LTS dal Marketplace dell'hub di Azure Stack.

  2. Nel riquadro Rete VM verificare che le porte seguenti siano accessibili:

    Porta Protocollo Descrizione
    80 HTTP Hypertext Transfer Protocol (HTTP) è il protocollo usato per recapitare pagine Web dai server. I client si connettono tramite HTTP con un nome DNS o un indirizzo IP.
    443 HTTPS Hypertext Transfer Protocol Secure (HTTPS) è una versione sicura di HTTP che richiede un certificato di sicurezza e consente la trasmissione crittografata di informazioni.
    22 SSH Secure Shell (SSH) è un protocollo di rete crittografato per comunicazioni sicure. Questa connessione viene usata con un client SSH per configurare la macchina virtuale e distribuire l'app.
    3389 RDP Facoltativa. Remote Desktop Protocol (RDP) consente a una connessione Desktop remoto di usare un'interfaccia utente grafica nel computer.
    5000, 8000 Personalizzato Porte usate dal framework Web Flask in fase di sviluppo. Per un server di produzione, indirizzare il traffico a 80 e 443.
  3. Nel riquadro Panoramicaselezionare Configura in Nome DNS.

  4. Selezionare statico e quindi denominare il computer in modo da avere un nome DNS, ad esempio: <yourmachine>.<local>.cloudapp.azurestack.contoso.com.

Installare Python

  1. Connettersi alla macchina virtuale usando il client SSH. Per istruzioni, vedere Connettersi tramite SSH con PuTTy.

  2. Al prompt di bash nella macchina virtuale immettere il comando seguente:

    sudo apt-get update
    sudo apt-get -y install python3 python3-dev
    sudo apt install python3-pip
    
  3. Convalidare l'installazione. Mentre si è ancora connessi alla macchina virtuale nella sessione SSH, immettere il comando seguente per aprire Python e prendere nota del numero di versione. quit() Digitare quindi per uscire da Python REPL.

    python3
    quit()
    
  4. Installare Nginx, un server Web leggero. Mentre si è ancora connessi alla macchina virtuale nella sessione SSH, immettere il comando seguente:

    sudo apt-get -y install nginx
    
  5. Installare Git, un sistema di gestione del codice sorgente e controllo della versione ampiamente distribuito. Mentre si è ancora connessi alla macchina virtuale nella sessione SSH, immettere il comando seguente:

    sudo apt-get -y install git
    

Distribuire ed eseguire l'app

  1. Configurare il repository Git nella macchina virtuale. Mentre si è ancora connessi alla macchina virtuale nella sessione SSH, immettere i comandi seguenti:

       git clone https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world.git
    
       cd azure-stack-hub-flask-hello-world
    
  2. Mentre si è ancora connessi alla macchina virtuale nella sessione SSH, immettere i comandi seguenti per installare le dipendenze. Installare Flask usando apt e quindi pip per caricare i moduli da 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. Passare al nuovo server. Verrà visualizzata l'applicazione Web in esecuzione.

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

Aggiornare il server

  1. Connettersi alla macchina virtuale nella sessione SSH. Arrestare il server digitando CTRL+C.

  2. Immettere i comandi seguenti:

    cd azure-stack-hub-flask-hello-world
    git pull
    
  3. Attivare l'ambiente virtuale e avviare l'app:

    export FLASK_APP=application.py
    flask run -h 0.0.0.0
    

Passaggi successivi