Implementar uma aplicação Web Python numa VM no Azure Stack Hub

Pode criar uma VM para alojar a sua aplicação Web Python no Azure Stack Hub. Neste artigo, vai configurar um servidor, configurar o servidor para alojar a sua aplicação Web Python e, em seguida, implementar a aplicação no Azure Stack Hub.

Este artigo utiliza o Python 3.x a executar o Flask num ambiente virtual num servidor Nginx. Utilize o Ubuntu Server 18.04 LTS a partir do Marketplace do Azure Stack Hub.

Criar uma VM

  1. Configure a VM no Azure Stack Hub ao seguir as instruções em Implementar uma VM do Linux para alojar uma aplicação Web no Azure Stack Hub. Utilize o Ubuntu Server 18.04 LTS a partir do Marketplace do Azure Stack Hub.

  2. No painel rede VM, certifique-se de que as seguintes portas estão acessíveis:

    Porta Protocolo Descrição
    80 HTTP O Protocolo HTTP (Hypertext Transfer Protocol) é o protocolo utilizado para fornecer páginas Web a partir de servidores. Os clientes ligam-se através de HTTP com um nome DNS ou endereço IP.
    443 HTTPS O PROTOCOLO HTTPS (Hypertext Transfer Protocol Secure) é uma versão segura de HTTP que requer um certificado de segurança e permite a transmissão encriptada de informações.
    22 SSH O Secure Shell (SSH) é um protocolo de rede encriptado para comunicações seguras. Utilize esta ligação com um cliente SSH para configurar a VM e implementar a aplicação.
    3389 RDP Opcional. O Protocolo RDP (Remote Desktop Protocol) permite que uma ligação de ambiente de trabalho remoto utilize uma interface de utilizador gráfico no seu computador.
    5000, 8000 Personalizado As portas utilizadas pela arquitetura Web flask em desenvolvimento. Para um servidor de produção, encaminha o tráfego para 80 e 443.
  3. No painel Descrição Geral , selecione configurar em Nome DNS.

  4. Selecione estático e, em seguida, atribua um nome ao computador para que tenha um nome DNS, como: <yourmachine>.<local>.cloudapp.azurestack.contoso.com.

Instalar o Python

  1. Ligue-se à VM com o cliente SSH. Para obter instruções, veja Connect via SSH with PuTTy (Ligar através de SSH com PuTTy).

  2. Na linha de comandos bash da VM, introduza o seguinte comando:

    sudo apt-get update
    sudo apt-get -y install python3 python3-dev
    sudo apt install python3-pip
    
  3. Valide a instalação. Enquanto ainda estiver ligado à VM na sessão SSH, introduza o seguinte comando para abrir o Python e anote o número da versão. Em seguida, escreva quit() para sair do REPL do Python.

    python3
    quit()
    
  4. Instale o Nginx, um servidor Web simples. Enquanto ainda estiver ligado à VM na sessão SSH, introduza o seguinte comando:

    sudo apt-get -y install nginx
    
  5. Instale o Git, um sistema de gestão de código fonte (SCM) e controlo de versões amplamente distribuído. Enquanto ainda estiver ligado à VM na sessão SSH, introduza o seguinte comando:

    sudo apt-get -y install git
    

Implementar e executar a aplicação

  1. Configure o repositório Git na VM. Enquanto ainda estiver ligado à VM na sessão SSH, introduza os seguintes comandos:

       git clone https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world.git
    
       cd azure-stack-hub-flask-hello-world
    
  2. Enquanto ainda estiver ligado à VM na sessão SSH, introduza os seguintes comandos para instalar as dependências. Instale o Flask com apt e, em seguida, pip para carregar os módulos a partir de 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. Aceda ao seu novo servidor. Deverá ver a sua aplicação Web em execução.

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

Atualizar o servidor

  1. Ligue-se à VM na sessão SSH. Pare o servidor escrevendo Ctrl+C.

  2. Introduza os seguintes comandos:

    cd azure-stack-hub-flask-hello-world
    git pull
    
  3. Ative o ambiente virtual e inicie a aplicação:

    export FLASK_APP=application.py
    flask run -h 0.0.0.0
    

Passos seguintes