Een Python-web-app implementeren op een VIRTUELE machine in Azure Stack Hub
U kunt een VIRTUELE machine maken om uw Python-web-app te hosten in Azure Stack Hub. In dit artikel stelt u een server in, configureert u de server voor het hosten van uw Python-web-app en implementeert u de app vervolgens in Azure Stack Hub.
In dit artikel wordt Gebruikgemaakt van Python 3.x met Flask in een virtuele omgeving op een Nginx-server. Gebruik Ubuntu Server 18.04 LTS- vanuit Azure Stack Hub Marketplace.
Een VIRTUELE machine maken
Stel uw virtuele machine in Azure Stack Hub op door de instructies in Een Virtuele Linux-machine implementeren om een web-app te hosten in Azure Stack Hubte volgen. Gebruik Ubuntu Server 18.04 LTS- vanuit Azure Stack Hub Marketplace.
Zorg ervoor dat de volgende poorten toegankelijk zijn in het deelvenster VM-netwerk:
Haven Protocol Beschrijving 80 HTTP Hypertext Transfer Protocol (HTTP) is het protocol dat wordt gebruikt om webpagina's van servers te leveren. Clients maken verbinding via HTTP met een DNS-naam of IP-adres. 443 HTTPS Hypertext Transfer Protocol Secure (HTTPS) is een beveiligde versie van HTTP waarvoor een beveiligingscertificaat is vereist en waarmee de versleutelde overdracht van informatie mogelijk is. 22 SSH Secure Shell (SSH) is een versleuteld netwerkprotocol voor beveiligde communicatie. U gebruikt deze verbinding met een SSH-client om de VIRTUELE machine te configureren en de app te implementeren. 3389 RDP (Remote Desktop Protocol) Facultatief. Het Remote Desktop Protocol (RDP) maakt het mogelijk een verbinding met een extern bureaublad tot stand te brengen en op uw computer een grafische gebruikersinterface te gebruiken. 5000, 8000 Aangepast De poorten die worden gebruikt door het Flask-webframework tijdens de ontwikkeling. Voor een productieserver routeert u uw verkeer via 80 en 443. Selecteer in deelvenster Overzicht de optie configureren onder DNS-naam.
Selecteer statische en geef de computer een naam zodat u een DNS-naam hebt, zoals:
<yourmachine>.<local>.cloudapp.azurestack.contoso.com
.
Python installeren
Maak verbinding met uw VIRTUELE machine met behulp van uw SSH-client. Zie Verbinding maken via SSH met PuTTyvoor instructies.
Voer bij de bash-prompt op uw virtuele machine de volgende opdracht in:
sudo apt-get update sudo apt-get -y install python3 python3-dev sudo apt install python3-pip
Valideer uw installatie. Terwijl u nog steeds verbinding hebt met uw virtuele machine in uw SSH-sessie, voert u de volgende opdracht in om Python te openen en het versienummer te noteren. Typ vervolgens
quit()
om de Python REPL af te sluiten.python3 quit()
Nginx-installeren, een lichtgewicht webserver. Terwijl u nog steeds verbinding hebt met uw virtuele machine in uw SSH-sessie, voert u de volgende opdracht in:
sudo apt-get -y install nginx
Git installeren. Terwijl u nog steeds verbinding hebt met uw virtuele machine in uw SSH-sessie, voert u de volgende opdracht in:
sudo apt-get -y install git
De app implementeren en uitvoeren
Stel uw Git-opslagplaats in op de VIRTUELE machine. Terwijl u nog steeds verbinding hebt met uw VIRTUELE machine in uw SSH-sessie, voert u de volgende opdrachten in:
git clone https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world.git cd azure-stack-hub-flask-hello-world
Terwijl u nog steeds verbinding hebt met uw VIRTUELE machine in uw SSH-sessie, voert u de volgende opdrachten in om de afhankelijkheden te installeren. Installeer Flask met apt en gebruik vervolgens pip om de modules vanuit
requirements.txt
te laden.sudo apt install python3-flask pip3 install -r requirements.txt export FLASK_APP=application.py flask run -h 0.0.0.0
Ga naar de nieuwe server. Je zou je draaiende webapplicatie moeten zien.
<yourmachine>.<local>.cloudapp.azurestack.contoso.com:5000
Uw server bijwerken
Maak verbinding met uw VIRTUELE machine in uw SSH-sessie. Stop de server door Ctrl+C te typen.
Voer de volgende opdrachten in:
cd azure-stack-hub-flask-hello-world git pull
Activeer de virtuele omgeving en start de app:
export FLASK_APP=application.py flask run -h 0.0.0.0
Volgende stappen
- Meer te weten komen over hoe te ontwikkelen voor Azure Stack Hub.
- Meer informatie over de algemene implementaties voor Azure Stack Hub als IaaS.
- Zie Python.orgvoor meer informatie over de programmeertaal Python en aanvullende resources voor Python.