Поделиться через


Развертывание веб-приложения Python на виртуальной машине в Azure Stack Hub

Вы можете создать виртуальную машину для размещения веб-приложения Python в Azure Stack Hub. В этой статье описана настройка сервера, настройка сервера для размещения веб-приложения Python, а затем развертывание приложения в Azure Stack Hub.

В этой статье используется Python 3.x под управлением Flask в виртуальной среде на сервере Nginx. Используйте Ubuntu Server 18.04 LTS из Azure Stack Hub Marketplace.

Создание виртуальной машины

  1. Настройте вашу виртуальную машину в Azure Stack Hub, следуя инструкциям в документе "Развертывание виртуальной машины Linux для размещения веб-приложения в Azure Stack Hub". Используйте Ubuntu Server 18.04 LTS из Azure Stack Hub Marketplace.

  2. В области сети виртуальной машины убедитесь, что доступны следующие порты:

    Порт Протокол Описание
    80 HTTP Протокол HTTP — это протокол, используемый для доставки веб-страниц с серверов. Клиенты подключаются через HTTP с DNS-именем или IP-адресом.
    443 HTTPS Hypertext Transfer Protocol Secure (HTTPS) — это безопасная версия HTTP, требующая сертификата безопасности и позволяющая зашифрованной передачи информации.
    22 SSH Secure Shell (SSH) — это зашифрованный сетевой протокол для безопасного взаимодействия. Это подключение используется с клиентом SSH для настройки виртуальной машины и развертывания приложения.
    3389 RDP Необязательный. Протокол удаленного рабочего стола (RDP) позволяет удаленному рабочему столу использовать графический пользовательский интерфейс на компьютере.
    5000, 8000 Обычай Порты, используемые веб-платформой Flask в разработке. Для рабочего сервера вы направляете трафик через 80 и 443.
  3. В области обзора выберите настроить под DNS-именем.

  4. Выберите статические, а затем назовите компьютер таким образом, чтобы у вас было DNS-имя, например: <yourmachine>.<local>.cloudapp.azurestack.contoso.com.

Установка Python

  1. Подключитесь к виртуальной машине с помощью клиента SSH. Инструкции см. в разделе Подключение через SSH с использованием PuTTy.

  2. В командной строке bash на виртуальной машине введите следующую команду:

    sudo apt-get update
    sudo apt-get -y install python3 python3-dev
    sudo apt install python3-pip
    
  3. Проверьте установку. Пока вы все еще подключены к виртуальной машине в сеансе SSH, введите следующую команду, чтобы открыть Python и заметить номер версии. Затем введите quit(), чтобы выйти из Python REPL.

    python3
    quit()
    
  4. Установить Nginx, легковесный веб-сервер. Пока вы все еще подключены к виртуальной машине в сеансе SSH, введите следующую команду:

    sudo apt-get -y install nginx
    
  5. УстановитеGit. Пока вы все еще подключены к виртуальной машине в сеансе SSH, введите следующую команду:

    sudo apt-get -y install git
    

Развертывание и запуск приложения

  1. Настройте репозиторий Git на виртуальной машине. Пока вы все еще подключены к виртуальной машине в сеансе SSH, введите следующие команды:

    git clone https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world.git   
    cd azure-stack-hub-flask-hello-world
    
  2. Пока вы все еще подключены к виртуальной машине в сеансе SSH, введите следующие команды для установки зависимостей. Установите Flask с помощью apt, а затем pip для загрузки модулей из requirements.txt:

    sudo apt install python3-flask
    pip3 install -r requirements.txt
    
    export FLASK_APP=application.py
    flask run -h 0.0.0.0
    
  3. Перейдите на новый сервер. Вы должны увидеть ваше работающее веб-приложение.

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

Обновление сервера

  1. Подключитесь к виртуальной машине в сеансе SSH. Остановите сервер, введя клавиши CTRL+C.

  2. Введите следующие команды:

    cd azure-stack-hub-flask-hello-world
    git pull
    
  3. Активируйте виртуальную среду и запустите приложение:

    export FLASK_APP=application.py
    flask run -h 0.0.0.0
    

Дальнейшие действия