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 języka Python 3.x z uruchomionym platformą Flask w środowisku wirtualnym na serwerze Nginx. Użyj systemu Ubuntu Server 18.04 LTS z witryny Azure Stack Hub Marketplace.

Tworzenie maszyny wirtualnej

  1. Skonfiguruj maszynę wirtualną w usłudze Azure Stack Hub, postępując zgodnie z instrukcjami w temacie Deploy a Linux VM to host a web app in Azure Stack Hub (Wdrażanie maszyny wirtualnej z systemem Linux w celu hostowania aplikacji internetowej w usłudze Azure Stack Hub). Użyj systemu Ubuntu Server 18.04 LTS z witryny Azure Stack Hub Marketplace.

  2. 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 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, aby skonfigurować maszynę wirtualną i wdrożyć aplikację.
    3389 RDP Opcjonalny. Protokół RDP (Remote Desktop Protocol) umożliwia podłączanie pulpitu zdalnego do korzystania z graficznego interfejsu użytkownika na maszynie.
    5000, 8000 Niestandardowy Porty używane przez platformę internetową Platformy Flask w programowania. W przypadku serwera produkcyjnego ruch jest kierowany przez 80 i 443.
  3. W okienku Przegląd wybierz pozycję Skonfiguruj w obszarze Nazwa DNS.

  4. Wybierz pozycję statyczną , a następnie nadaj maszynie nazwę DNS, na przykład: <yourmachine>.<local>.cloudapp.azurestack.contoso.com.

Instalowanie języka Python

  1. Nawiąż połączenie z maszyną wirtualną przy użyciu klienta SSH. Aby uzyskać instrukcje, zobacz Łączenie za pośrednictwem protokołu SSH z oprogramowaniem PuTTy.

  2. 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
    
  3. 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()
    
  4. Zainstaluj 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
    
  5. Zainstaluj usługę Git, szeroko rozproszoną kontrolę wersji i system zarządzania kodem źródłowym (SCM). 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

  1. 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
    
  2. Mimo że nadal masz połączenie z maszyną wirtualną w sesji SSH, wprowadź następujące polecenia, aby zainstalować zależności. Zainstaluj platformę Flask przy użyciu narzędzia apt, a następnie pip, aby załadować moduły z requirements.txtprogramu .

    sudo apt install python3-flask
    pip3 install -r requirements.txt
    
    export FLASK_APP=application.py
    flask run -h 0.0.0.0
    
  3. Przejdź do nowego serwera. Powinna zostać wyświetlona uruchomiona aplikacja internetowa.

    <yourmachine>.<local>.cloudapp.azurestack.contoso.com:5000
    

Aktualizowanie serwera

  1. Nawiąż połączenie z maszyną wirtualną w sesji SSH. Zatrzymaj serwer, wpisując klawisze Ctrl+C.

  2. Wprowadź następujące polecenia:

    cd azure-stack-hub-flask-hello-world
    git pull
    
  3. Aktywuj środowisko wirtualne i uruchom aplikację:

    export FLASK_APP=application.py
    flask run -h 0.0.0.0
    

Następne kroki