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
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.
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. Nel riquadro Panoramicaselezionare Configura in Nome DNS.
Selezionare statico e quindi denominare il computer in modo da avere 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.
quit()
Digitare quindi 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, 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
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 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
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
- Altre informazioni su come sviluppare per l'hub di Azure Stack.
- Informazioni sulle distribuzioni comuni per l'hub di Azure Stack come IaaS.
- Per informazioni sul linguaggio di programmazione Python e trovare risorse aggiuntive per Python, vedere Python.org.