Implementar uma aplicação web Python para um VM em Azure Stack HubDeploy a Python web app to a VM in Azure Stack Hub

Pode criar um VM para hospedar a sua aplicação web Python no Azure Stack Hub.You can create a VM to host your Python web app in Azure Stack Hub. Neste artigo, configura um servidor, configura o servidor para hospedar a sua aplicação web Python e, em seguida, implementar a aplicação para O Azure Stack Hub.In this article, you set up a server, configure the server to host your Python web app, and then deploy the app to Azure Stack Hub.

Este artigo usa o Python 3.x a correr Flask num ambiente virtual num servidor Nginx.This article uses Python 3.x running Flask in a virtual environment on an Nginx server.

Criar uma VMCreate a VM

  1. Confule o seu VM no Azure Stack Hub seguindo as instruções em Implementar um Linux VM para hospedar uma aplicação web no Azure Stack Hub.Set up your VM in Azure Stack Hub by following the instructions in Deploy a Linux VM to host a web app in Azure Stack Hub.

  2. No painel de rede VM, certifique-se de que as seguintes portas estão acessíveis:In the VM network pane, make sure that the following ports are accessible:

    PortaPort ProtocoloProtocol DescriptionDescription
    8080 HTTPHTTP Hypertext Transfer Protocol (HTTP) é o protocolo que é usado para entregar páginas web a partir de servidores.Hypertext Transfer Protocol (HTTP) is the protocol that's used to deliver webpages from servers. Os clientes conectam-se via HTTP com um nome DNS ou endereço IP.Clients connect via HTTP with a DNS name or IP address.
    443443 HTTPSHTTPS Hypertext Transfer Protocol Secure (HTTPS) é uma versão segura do HTTP que requer um certificado de segurança e permite a transmissão encriptada de informações.Hypertext Transfer Protocol Secure (HTTPS) is a secure version of HTTP that requires a security certificate and allows for the encrypted transmission of information.
    2222 SSHSSH Secure Shell (SSH) é um protocolo de rede encriptado para comunicações seguras.Secure Shell (SSH) is an encrypted network protocol for secure communications. Utilize esta ligação com um cliente SSH para configurar o VM e implementar a aplicação.You use this connection with an SSH client to configure the VM and deploy the app.
    33893389 RDPRDP Opcional.Optional. O Protocolo de Ambiente de Trabalho Remoto (RDP) permite que uma ligação remota de ambiente de trabalho utilize uma interface de utilizador gráfica na sua máquina.The Remote Desktop Protocol (RDP) allows a remote desktop connection to use a graphic user interface on your machine.
    5000, 80005000, 8000 PersonalizadoCustom As portas que são utilizadas pela estrutura web flask em desenvolvimento.The ports that are used by the Flask web framework in development. Para um servidor de produção, você encaminha o seu tráfego através de 80 e 443.For a production server, you route your traffic through 80 and 443.

Instalar o PythonInstall Python

  1. Ligue-se ao seu VM utilizando o seu cliente SSH.Connect to your VM by using your SSH client. Para obter instruções, consulte Connect via SSH com PuTTy.For instructions, see Connect via SSH with PuTTy.

  2. Na sua pontuação no seu VM, insira o seguinte comando:At your bash prompt on your VM, enter the following command:

    sudo apt-get -y install python3 python3-venv python3-dev
    
  3. Valide a sua instalação.Validate your installation. Enquanto ainda estiver ligado ao seu VM na sua sessão de SSH, insira o seguinte comando:While you're still connected to your VM in your SSH session, enter the following command:

        python -version
    
  4. Instale o Nginx,um servidor web leve.Install Nginx, a lightweight web server. Enquanto ainda estiver ligado ao seu VM na sua sessão de SSH, insira o seguinte comando:While you're still connected to your VM in your SSH session, enter the following command:

       sudo apt-get -y install nginx git
    
  5. Instale o Git, um sistema de controlo de versão amplamente distribuído e gestão de códigos fonte (SCM).Install Git, a widely distributed version control and source code management (SCM) system. Enquanto ainda estiver ligado ao seu VM na sua sessão de SSH, insira o seguinte comando:While you're still connected to your VM in your SSH session, enter the following command:

       sudo apt-get -y install git
    

Implementar e executar a aplicaçãoDeploy and run the app

  1. Instale o seu repositório git no VM.Set up your Git repository on the VM. Enquanto ainda estiver ligado ao seu VM na sua sessão de SSH, insira os seguintes comandos:While you're still connected to your VM in your SSH session, enter the following commands:

       git clone https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world.git
    
       cd azure-stack-hub-flask-hello-world
    
  2. Crie um ambiente virtual e povoe-o com todas as dependências do pacote.Create a virtual environment, and populate it with all the package dependencies. Enquanto ainda estiver ligado ao seu VM na sua sessão de SSH, insira os seguintes comandos:While you're still connected to your VM in your SSH session, enter the following commands:

    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    
    export FLASK_APP=application.py
    # export FLASK_DEBUG=1 
    flask run -h 0.0.0.0
    
  3. Vá para o seu novo servidor.Go to your new server. Devia ver a sua aplicação web em execução.You should see your running web application.

       http://yourhostname.cloudapp.net:5000
    

Atualize o seu servidorUpdate your server

  1. Ligue-se ao seu VM na sua sessão de SSH.Connect to your VM in your SSH session. Pare o servidor digitando Ctrl+C.Stop the server by typing Ctrl+C.

  2. Introduza os seguintes comandos:Enter the following commands:

    deactivate
    open the git repo
    git pull
    
  3. Ativar o ambiente virtual e iniciar a aplicação:Activate the virtual environment and start the app:

    source venv/bin/activate
    export FLASK_APP=application.py
    flask run -h 0.0.0.0
    

Passos seguintesNext steps