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 di Azure Stack Hub.
Creare una macchina virtuale
Configurare la macchina virtuale nell'hub di Azure Stack seguendo le istruzioni riportate in Distribuire una macchina virtuale Linux per ospitare un'app Web nell'hub di Azure Stack. Usare Ubuntu Server 18.04 LTS da Azure Stack Hub Marketplace.
Nel riquadro Rete VM verificare che le porte seguenti siano accessibili:
Porto Protocollo Descrizione 80 HTTP Hypertext Transfer Protocol (HTTP) è il protocollo usato per distribuire 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 Opzionale. 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. Nel riquadro Panoramica, selezionare configurare sotto Nome DNS.
Selezionare statico e assegnare al computer un nome DNS, ad esempio:
<yourmachine>.<local>.cloudapp.azurestack.contoso.com
.
Installare Python
Connettersi alla macchina virtuale usando il client SSH. Per istruzioni, vedere Connettersi tramite SSH con PuTTy.
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
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. Digitare quindi
quit()
per uscire da Python REPL.python3 quit()
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
Installare Git. 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
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
Mentre si è ancora connessi alla macchina virtuale nella sessione SSH, immettere i comandi seguenti per installare le dipendenze. Installare Flask usando dapprima apt e poi 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
Passare al nuovo server. Verrà visualizzata l'applicazione Web in esecuzione.
<yourmachine>.<local>.cloudapp.azurestack.contoso.com:5000
Aggiornare il server
Connettersi alla macchina virtuale nella sessione SSH. Arrestare il server digitando CTRL+C.
Immettere i comandi seguenti:
cd azure-stack-hub-flask-hello-world git pull
Attivare l'ambiente virtuale e avviare l'app:
export FLASK_APP=application.py flask run -h 0.0.0.0
Passaggi successivi
- Scopri di più su come sviluppare per Azure Stack Hub.
- Scopri le distribuzioni comuni per Azure Stack Hub come IaaS.
- Per informazioni sul linguaggio di programmazione Python e trovare risorse aggiuntive per Python, vedere Python.org.