Een Python-web-app implementeren op een VM in Azure Stack Hub
U kunt een VIRTUELE machine maken voor het hosten van uw Python-web-app 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 waarop Flask wordt uitgevoerd in een virtuele omgeving op een Nginx-server. Gebruik Ubuntu Server 18.04 LTS vanuit de Azure Stack Hub Marketplace.
Een virtuele machine maken
Stel uw VM in Azure Stack Hub in door de instructies te volgen in Een Linux-VM implementeren om een web-app te hosten in Azure Stack Hub. Gebruik Ubuntu Server 18.04 LTS vanuit de Azure Stack Hub Marketplace.
Controleer in het deelvenster VM-netwerk of de volgende poorten toegankelijk zijn:
Poort Protocol Beschrijving 80 HTTP Hypertext Transfer Protocol (HTTP) is het protocol dat wordt gebruikt voor het leveren van webpagina's vanaf servers. 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 versleutelde gegevens kunnen worden verzonden. 22 SSH Secure Shell (SSH) is een versleuteld netwerkprotocol voor veilige communicatie. U gebruikt deze verbinding met een SSH-client om de VM te configureren en de app te implementeren. 3389 RDP Optioneel. Met Remote Desktop Protocol (RDP) kan een verbinding met extern bureaublad een grafische gebruikersinterface op uw computer gebruiken. 5000, 8000 Aangepast telefoonnummer De poorten die worden gebruikt door het Flask-webframework in ontwikkeling. Voor een productieserver routeert u uw verkeer via 80 en 443. Selecteer configureren onder DNS-naam in het deelvenster Overzicht.
Selecteer statisch 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 VM met behulp van uw SSH-client. Zie Verbinding maken via SSH met PuTTy voor instructies.
Voer bij de bash-prompt op uw VM 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 uit om Python te openen en het versienummer te noteren.
quit()
Typ vervolgens om de Python REPL af te sluiten.python3 quit()
Installeer Nginx, een lichtgewicht webserver. Terwijl u nog steeds verbonden bent met uw VIRTUELE machine in uw SSH-sessie, voert u de volgende opdracht uit:
sudo apt-get -y install nginx
Installeer Git, een wijd verspreid versiebeheer- en broncodebeheersysteem (SCM). Terwijl u nog steeds verbonden bent met uw VIRTUELE machine in uw SSH-sessie, voert u de volgende opdracht uit:
sudo apt-get -y install git
De app implementeren en uitvoeren
Stel uw Git-opslagplaats in op de VM. Terwijl u nog steeds verbinding hebt met uw VM in uw SSH-sessie, voert u de volgende opdrachten uit:
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 verbonden bent met uw VM in uw SSH-sessie, voert u de volgende opdrachten uit om de afhankelijkheden te installeren. Installeer Flask met behulp van apt en vervolgens pip om de modules van
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. Als het goed is, ziet u de actieve webtoepassing.
<yourmachine>.<local>.cloudapp.azurestack.contoso.com:5000
Uw server bijwerken
Maak verbinding met uw VM 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 informatie over het ontwikkelen voor Azure Stack Hub.
- Meer informatie over algemene implementaties voor Azure Stack Hub als IaaS.
- Zie Python.org voor meer informatie over de programmeertaal Python en aanvullende resources voor Python.