Wdrażanie aplikacji internetowej w języku Python na maszynie wirtualnej w usłudze Azure Stack Hub
Możesz utworzyć maszynę wirtualną do hostowania aplikacji internetowej w języku Python w usłudze Azure Stack Hub. W tym artykule skonfigurujesz serwer, skonfigurujesz serwer do hostowania aplikacji internetowej w języku Python, a następnie wdrożysz aplikację w usłudze Azure Stack Hub.
W tym artykule użyto Pythona 3.x oraz Flask uruchomionego w środowisku wirtualnym na serwerze Nginx. Użyj Ubuntu Server 18.04 LTS z witryny Azure Stack Hub Marketplace.
Tworzenie maszyny wirtualnej
Skonfiguruj maszynę wirtualną w usłudze Azure Stack Hub, postępując zgodnie z instrukcjami w Wdrażanie maszyny wirtualnej z systemem Linux w celu hostowania aplikacji internetowej w usłudze Azure Stack Hub. Użyj Ubuntu Server 18.04 LTS ze sklepu Azure Stack Hub Marketplace.
W okienku Sieć maszyn wirtualnych upewnij się, że dostępne są następujące porty:
Port Protokół Opis 80 HTTP Protokół HTTP (Hypertext Transfer Protocol) to protokół używany do dostarczania stron internetowych z serwerów. Klienci łączą się za pośrednictwem protokołu HTTP z nazwą DNS lub adresem IP. 443 HTTPS Protokół Hypertext Transfer Protocol Secure (HTTPS) to bezpieczna wersja protokołu HTTP, która wymaga certyfikatu zabezpieczeń i umożliwia zaszyfrowaną transmisję informacji. 22 Protokół SSH Secure Shell (SSH) to szyfrowany protokół sieciowy do bezpiecznej komunikacji. To połączenie jest używane z klientem SSH do konfigurowania maszyny wirtualnej i wdrażania aplikacji. 3389 RDP Fakultatywny. Protokół RDP (Remote Desktop Protocol) umożliwia podłączanie pulpitu zdalnego do korzystania z graficznego interfejsu użytkownika na maszynie. 5000, 8000 Zwyczaj Porty używane przez framework internetowy Flask w środowisku deweloperskim. W przypadku serwera produkcyjnego kierujesz ruch przez 80 i 443. W okienku Przegląd wybierz pozycję skonfiguruj w obszarze Nazwa DNS.
Wybierz statyczną opcję , a następnie nazwij maszynę, aby uzyskać nazwę DNS, taką jak:
<yourmachine>.<local>.cloudapp.azurestack.contoso.com
.
Instalowanie języka Python
Nawiąż połączenie z maszyną wirtualną przy użyciu klienta SSH. Aby uzyskać instrukcje, zobacz Connect via SSH with PuTTy.
W wierszu polecenia powłoki bash na maszynie wirtualnej wprowadź następujące polecenie:
sudo apt-get update sudo apt-get -y install python3 python3-dev sudo apt install python3-pip
Zweryfikuj instalację. Mimo że nadal masz połączenie z maszyną wirtualną w sesji SSH, wprowadź następujące polecenie, aby otworzyć język Python i zanotować numer wersji. Następnie wpisz
quit()
, aby zamknąć środowisko REPL języka Python.python3 quit()
Zainstalować serwer Nginx, lekki serwer internetowy. Mimo że nadal masz połączenie z maszyną wirtualną w sesji SSH, wprowadź następujące polecenie:
sudo apt-get -y install nginx
ZainstalujGit. Mimo że nadal masz połączenie z maszyną wirtualną w sesji SSH, wprowadź następujące polecenie:
sudo apt-get -y install git
Wdrażanie i uruchamianie aplikacji
Skonfiguruj repozytorium Git na maszynie wirtualnej. Mimo że nadal masz połączenie z maszyną wirtualną w sesji SSH, wprowadź następujące polecenia:
git clone https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world.git cd azure-stack-hub-flask-hello-world
Mimo że nadal masz połączenie z maszyną wirtualną w sesji SSH, wprowadź następujące polecenia, aby zainstalować zależności. Zainstaluj Flask przy użyciu apt, a następnie pip, aby załadować moduły z
requirements.txt
.sudo apt install python3-flask pip3 install -r requirements.txt export FLASK_APP=application.py flask run -h 0.0.0.0
Przejdź do nowego serwera. Powinna zostać wyświetlona uruchomiona aplikacja internetowa.
<yourmachine>.<local>.cloudapp.azurestack.contoso.com:5000
Aktualizowanie serwera
Nawiąż połączenie z maszyną wirtualną w sesji SSH. Zatrzymaj serwer, wpisując Ctrl+C.
Wprowadź następujące polecenia:
cd azure-stack-hub-flask-hello-world git pull
Aktywuj środowisko wirtualne i uruchom aplikację:
export FLASK_APP=application.py flask run -h 0.0.0.0
Następne kroki
- Dowiedz się więcej na temat sposobu tworzenia aplikacji dla usługi Azure Stack Hub.
- Dowiedz się więcej na temat typowych wdrożeń usługi Azure Stack Hub jako usługi IaaS.
- Aby poznać język programowania Python i znaleźć dodatkowe zasoby dla języka Python, zobacz Python.org.