Развертывание веб-приложения Python на виртуальной машине в Azure Stack Hub
Вы можете создать виртуальную машину для размещения веб-приложения Python в Azure Stack Hub. В этой статье объясняется, как настроить сервер для размещения веб-приложения Python, которое затем будет развернуто в Azure Stack Hub.
В рамках этой статьи для запуска Flask в виртуальной среде на сервере Nginx используется Python 3.x. Используйте Ubuntu Server 18.04 LTS из Azure Stack Hub Marketplace.
Создание виртуальной машины
Настройте виртуальную машину в Azure Stack Hub, следуя инструкциям из статьи о развертывании виртуальной машины Linux для размещения веб-приложения в Azure Stack Hub. Используйте Ubuntu Server 18.04 LTS из Azure Stack Hub Marketplace.
В области сети виртуальных машин разрешите доступ к следующим портам:
Порт Протокол Описание 80 HTTP HTTP — это протокол, который используется для доставки веб-страниц с серверов. Клиенты подключаются по протоколу HTTP, используя DNS-имя или IP-адрес. 443 HTTPS HTTPS — это безопасная версия протокола HTTP, которая использует сертификат безопасности и обеспечивает передачу данных в зашифрованном виде. 22 SSH Secure Shell (SSH) — это сетевой протокол с применением шифрования для безопасного обмена данными. Такое соединение используется клиентом SSH для настройки виртуальной машины и развертывания приложений. 3389 RDP Необязательный параметр. Протокол RDP позволяет подключаться к удаленному рабочему столу, чтобы использовать графический пользовательский интерфейс на вашем компьютере. 5000, 8000 Особые настройки Порты, которые используются веб-платформой Flask при разработке. Для рабочего сервера разработки вам нужно перенаправить трафик через порты 80 и 443. В области Обзор выберите настроить в разделе DNS-имя.
Выберите статический , а затем присвойте компьютеру имя, чтобы у вас было DNS-имя, например :
<yourmachine>.<local>.cloudapp.azurestack.contoso.com
.
Установка Python
Подключитесь к виртуальной машине c помощью клиента SSH. Инструкции см . в статье Подключение по протоколу SSH с помощью PuTTy.
В командной строке bash на виртуальной машине введите следующую команду:
sudo apt-get update sudo apt-get -y install python3 python3-dev sudo apt install python3-pip
Проверьте установку. Пока вы все еще подключены к виртуальной машине в сеансе SSH, введите следующую команду, чтобы открыть Python, и запишите номер версии. Затем введите
quit()
, чтобы выйти из Python REPL.python3 quit()
Установите Nginx, упрощенную версию веб-сервера. Не прерывая подключение к виртуальной машине в сеансе SSH, введите следующую команду:
sudo apt-get -y install nginx
Установите Git — широко распространенную систему управления версиями и исходным кодом. Не прерывая подключение к виртуальной машине в сеансе SSH, введите следующую команду:
sudo apt-get -y install git
Развертывание и запуск приложения
Настройте репозиторий Git на виртуальной машине. Не прерывая подключение к виртуальной машине в сеансе SSH, введите следующие команды:
git clone https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world.git cd azure-stack-hub-flask-hello-world
Пока вы по-прежнему подключены к виртуальной машине в сеансе 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
Перейдите на новый сервер. Вы увидите запущенное веб-приложение.
<yourmachine>.<local>.cloudapp.azurestack.contoso.com:5000
Обновление сервера
Подключитесь к своей виртуальной машине в сеансе SSH. Остановите работу сервера, нажав комбинацию клавиш CTRL+C.
Введите следующие команды:
cd azure-stack-hub-flask-hello-world git pull
Активируйте виртуальную среду и запустите приложение.
export FLASK_APP=application.py flask run -h 0.0.0.0
Дальнейшие действия
- См. дополнительные сведения о разработке для Azure Stack Hub.
- Дополнительные сведения о распространенных сценариях развертывания IaaS для Azure Stack Hub см. здесь.
- Дополнительные сведения о языке программирования Python и дополнительные ресурсы см. на сайте Python.org.