Развертывание веб-приложения 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.
Создание виртуальной машины
Настройте вашу виртуальную машину в Azure Stack Hub, следуя инструкциям в документе "Развертывание виртуальной машины Linux для размещения веб-приложения в Azure Stack Hub". Используйте Ubuntu Server 18.04 LTS из Azure Stack Hub Marketplace.
В области сети виртуальной машины убедитесь, что доступны следующие порты:
Порт Протокол Описание 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. В области обзора выберите настроить под DNS-именем.
Выберите статические, а затем назовите компьютер таким образом, чтобы у вас было DNS-имя, например:
<yourmachine>.<local>.cloudapp.azurestack.contoso.com
.
Установка Python
Подключитесь к виртуальной машине с помощью клиента 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.
- Узнайте о распространенных развертываниях Azure Stack Hub в качествеIaaS.
- Сведения о языке программирования Python и поиске дополнительных ресурсов для Python см. в Python.org.