Implementación de una aplicación web de Python en una máquina virtual en Azure Stack Hub

Puede crear una máquina virtual para hospedar la aplicación web de Python en Azure Stack Hub. En este artículo, va a configurar un servidor, preparar el servidor para hospedar la aplicación web de Python y, después, implementar la aplicación en Azure Stack Hub.

Este artículo usa Python 3.x, que ejecuta Flask en un entorno virtual en un servidor Ngnix. Use Ubuntu Server 18.04 LTS del Marketplace de Azure Stack Hub.

Crear una VM

  1. Configure la máquina virtual en Azure Stack Hub mediante las instrucciones de Implementación de una máquina virtual Linux para hospedar una aplicación web en Azure Stack Hub. Use Ubuntu Server 18.04 LTS del Marketplace de Azure Stack Hub.

  2. En el panel de red de la máquina virtual, asegúrese de que los siguientes puertos sean accesibles:

    Port Protocolo Descripción
    80 HTTP El protocolo de transferencia de hipertexto (HTTP) es el protocolo que se utiliza para entregar páginas web desde los servidores. Los clientes se conectan mediante HTTP con un nombre DNS o dirección IP.
    443 HTTPS El protocolo de transferencia de hipertexto con cifrado de Capa de sockets seguros (HTTPS) es una versión segura de HTTP que requiere un certificado de seguridad y permite la transmisión cifrada de información.
    22 SSH Secure Shell (SSH) es un protocolo de red cifrado para proteger las comunicaciones. Esta conexión se usa con un cliente SSH para configurar la VM e implementar la aplicación.
    3389 RDP Opcional. El Protocolo de escritorio remoto (RDP) permite que una conexión de escritorio remoto utilice una interfaz gráfica de usuario con su máquina.
    5000, 8000 Personalizado Los puertos que usan por el marco web de Flask en desarrollo. Para un servidor de producción, enruta el tráfico a través de los puertos 80 y 443.
  3. En el panel Introducción, seleccione Configurar en Nombre DNS.

  4. Seleccione estático y, a continuación, asigne un nombre a la máquina para que tenga un nombre DNS como: <yourmachine>.<local>.cloudapp.azurestack.contoso.com.

Instalación de Python

  1. Conéctese a la máquina virtual mediante un cliente SSH. Para obtener instrucciones, consulte Connect via SSH with PuTTy (Conexión mediante SSH con PuTTy).

  2. En el símbolo del sistema de bash de la máquina virtual, introduzca el siguiente comando:

    sudo apt-get update
    sudo apt-get -y install python3 python3-dev
    sudo apt install python3-pip
    
  3. Valide la instalación. Mientras sigue conectado a la máquina virtual en la sesión SSH, escriba el siguiente comando para abrir Python y anote el número de versión. A continuación, escriba quit() para salir del REPL de Python.

    python3
    quit()
    
  4. Install Nginx, un servidor web ligero. Aún conectado a la máquina virtual en la sesión SSH, introduzca el siguiente comando:

    sudo apt-get -y install nginx
    
  5. Install Git, un sistema de control de versiones y administración de código fuente (SCM) ampliamente distribuido. Aún conectado a la máquina virtual en la sesión SSH, introduzca el siguiente comando:

    sudo apt-get -y install git
    

Implementación y ejecución de la aplicación

  1. Configure el repositorio de Git en la máquina virtual. Mientras sigue conectado a la máquina virtual en la sesión SSH, introduzca los siguientes comandos:

       git clone https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world.git
    
       cd azure-stack-hub-flask-hello-world
    
  2. Mientras sigue conectado a la máquina virtual en la sesión SSH, introduzca los siguientes comandos para instalar las dependencias. Instale Flask mediante apt y, a continuación, pip para cargar los módulos 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. Vaya al nuevo servidor. Debería ver la aplicación web en ejecución.

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

Actualización del servidor

  1. Conéctese a la máquina virtual en la sesión SSH. Para detener el servidor, escriba Ctrl+C.

  2. Escriba los siguientes comandos:

    cd azure-stack-hub-flask-hello-world
    git pull
    
  3. Activación del entorno virtual e inicio de la aplicación:

    export FLASK_APP=application.py
    flask run -h 0.0.0.0
    

Pasos siguientes