Cuenta gratuita: Instalación de Flask en una máquina virtual de Ubuntu

En este tutorial, utiliza una cuenta gratuita de Oracle Cloud Infrastructure para configurar una instancia de Ubuntu. A continuación, configure un entorno virtual para el host. Por último, instale Flask, un marco de aplicación web ligero para Python.

Las tareas clave incluyen cómo:

  • Configurar un compartimento para el trabajo de desarrollo.
  • Instalar su instancia de Ubuntu Linux y conectarla a su red virtual en la nube (VCN).
    • Configure una red virtual en la nube de Oracle Cloud Infrastructure y los servicios de red relacionados necesarios para que su host se conecte a Internet.
    • Configure las claves de cifrado ssh para acceder a Ubuntu Linux Server.
  • Configurar reglas de entrada para la VCN.
  • Instalar Flask en su máquina virtual.
  • Crear una aplicación Hello World de Python.
  • Probar la aplicación.

A continuación, se muestra un diagrama simplificado de la configuración de la máquina virtual de Linux.

Diagrama de los componentes necesarios para ejecutar un marco de aplicaciones web de Flask en Oracle Cloud Infrastructure

Para obtener información adicional, consulte:

Antes de empezar

Para completar correctamente este tutorial, debe tener lo siguiente:

Requisitos

1. Configuración de un compartimento para desarrollo

Configure un compartimento para el desarrollo.

Creación de un compartimento

Cree un compartimento para los recursos que cree en este tutorial.

  1. Conéctese a la consola de Oracle Cloud Infrastructure.
  2. Abra el menú de navegación y haga clic en Identidad y seguridad. En Identidad, haga clic en Compartimentos.
  3. Haga clic en Crear compartimento.
  4. Rellene la siguiente información:
    • Nombre: <your-compartment-name>
    • Descripción: Compartment for <your-description>.
    • Compartimento principal: <your-tenancy>(root)
  5. Haga clic en Crear compartimento.

Referencia: Creación de un compartimento

2. Instalación de una instancia de Ubuntu Linux

Utilice el flujo de trabajo Crear una instancia de VM para crear una nueva instancia informática.

El flujo de trabajo realiza varias acciones al instalar la instancia:

  • Crea e instala una instancia informática que ejecuta Ubuntu Linux.
  • Crea una VCN con la subred y los componentes necesarios para conectar la instancia de Ubuntu Linux a Internet.
  • Crea un par de claves ssh que usted utilizará para conectarse a la instancia.
Revisión de los pasos de instalación

Para empezar a instalar una instancia con el flujo de trabajo Crear una instancia de VM, siga estos pasos:

Importante

Los pasos proporcionados son para una cuenta gratuita. Si utiliza una cuenta de pago, los pasos pueden diferir de los que se muestran aquí.
  1. Haga clic en el icono de Oracle Cloud para ir a la página de llegada principal.
    • Desplácese hacia abajo hasta Iniciar recursos.
    • Seleccione el flujo de trabajo Crear una instancia de VM.
    Se muestra la página Crear instancia informática. Las secciones de la página incluyen
    • Nombre y Compartment
    • Ubicación
    • Seguridad
    • Imagen y unidad
    • Red
    • Agregar claves SSH
    • Volumen de inicio
  2. Seleccione el nombre y el compartimento.

    Opciones iniciales

    • Nombre: <name-for-the-instance>
    • Crear en compartimento: <your-compartment-name>

    Introduzca un valor para el nombre o utilice el valor por defecto proporcionado por el sistema. Para el compartimento, seleccione el compartimento que ha creado.

  3. Revise la configuración de Ubicación.
    • Acepte los valores por defecto. Se le asignará un dominio de disponibilidad.

    Los datos podrían tener un aspecto similar al siguiente:

    Dominio de disponibilidad

    • Dominio de disponibilidad: AD-1
    • Tipo de capacidad: Capacidad bajo demanda
    • Dominio de errores: Permitir a Oracle elegir el mejor dominio de errores
    Nota

    En Cuenta gratuita, utilice la opción Siempre gratis elegible para el dominio de disponibilidad.
  4. Revise la configuración de Seguridad.
    • Acepte los valores por defecto.

    Los datos podrían tener un aspecto similar al siguiente:

    Seguridad

    • Instancia blindada: desactivada
    • Recursos informáticos confidenciales: desactivado
  5. Revise la configuración de Imagen y unidad. Cambie la imagen del sistema operativo.
    • Haga clic en Editar.
    • Haga clic en Cambiar imagen.
    • Haga clic en Ubuntu.
    • Seleccione Canonical Ubuntu 22.04 o una versión posterior.
    • Haga clic en Seleccionar imagen.
    Nota

    A continuación se incluyen datos de muestra para una máquina virtual AMD. Los valores reales pueden ser diferentes.

    Imagen y unidad

    • Imagen: Ubuntu canónico 22.04
    • Compilación de imagen: <current-build-date>
    • Unidad: VM.Standard.E2.1.Micro
    • OCPU: 1
    • Memoria (GB): 1
    • Ancho de banda de red (Gbps): 0,48
    Nota

    En Cuenta gratuita, use las opciones de unidad Siempre gratis elegible.
    • Continúe con la siguiente sección.
  6. Revise la configuración de Red. Realice los siguientes cambios en el valor por defecto.
    • Haga clic en Editar.
    • Red principal: seleccione Crear nueva red virtual en la nube.
    • Nombre de la nueva red virtual en la nube: acepte el nombre de VCN generado o proporcione un nombre.
    • Crear en compartimento: <your-compartment-name>.
    • Subred: seleccione Crear nueva subred pública.
    • Nuevo nombre de subred: acepte el nombre de subred generado o proporcione un nombre.
    • Crear en compartimento: <your-compartment-name>.
    • Bloque de CIDR: acepte el valor por defecto (por ejemplo, 10.0.0.0/24).
    • Dirección IPv4 pública, acepte el valor por defecto de Asignar una dirección IPv4 pública.
    • Continúe con la siguiente sección.
  7. Revise la configuración de Agregar claves SSH. Acepte los valores por defecto proporcionados por el flujo de trabajo.
    • Seleccione la opción Generar un par de claves para mí.
    • Haga clic en Guardar clave privada y Guardar clave pública para guardar las claves SSH privadas y públicas para esta instancia informática.

    Si desea utilizar sus propias claves SSH, seleccione una de las opciones para proporcionar su clave pública.

    Nota

    Guarde sus archivos de claves privadas y públicas en una ubicación segura. No podrá volver a recuperar las claves una vez creada la instancia informática.
  8. Revise la configuración de Volumen de inicio.

    Desmarque el valor Especificar un tamaño de volumen de inicio de cliente.

    Marque el valor Usar cifrado en tránsito.

    Desmarque el valor Cifre este volumen con una clave que gestione.

  9. Haga clic en Crear para crear la instancia. El aprovisionamiento del sistema puede tardar varios minutos.
Ha creado correctamente una instancia de Ubuntu Linux.

3. Activación del acceso a Internet

El asistente de Crear una instancia de VM crea automáticamente una VCN para su máquina virtual. Agregue una regla de entrada a su subred para permitir conexiones a Internet en el puerto 5000.

Creación de una regla de entrada para la VCN

Siga estos pasos para seleccionar la subred pública de la VCN y agregar la regla de entrada.

  1. Abra el menú de navegación y haga clic en Red y, a continuación, haga clic en Redes virtuales en la nube.
  2. Seleccione la VCN que ha creado con su instancia informática.
  3. Con la nueva VCN mostrada, haga clic en el enlace de la subred <nombre-de-su-subred>.

    La información de subred pública se muestra con las listas de seguridad en la parte inferior de la página. Se muestra un enlace a la lista de seguridad por defecto de la VCN.

  4. Haga clic en el enlace Lista de seguridad por defecto.

    Se muestran las reglas de entrada por defecto para su VCN.

  5. Haga clic en Agregar reglas de entrada.

    Se muestra un cuadro de diálogo Agregar reglas de entrada.

  6. Rellene la regla de entrada con la siguiente información.

    Rellene la regla de entrada de la siguiente forma:

    • Sin estado: marcada
    • Tipo de origen: CIDR
    • CIDR de origen: 0.0.0.0/0
    • Protocolo IP: TCP
    • Rango de puertos de origen: (déjelo en blanco)
    • Rango de puertos de destino: 5000
    • Descripción: Permitir conexiones HTTP

    Haga clic en Agregar regla de entrada. Ahora se permiten las conexiones HTTP. Su VCN está configurada para el servidor Apache.

  7. Haga clic en Agregar reglas de entrada.
    Ahora se permiten las conexiones HTTP. Su VCN está configurada para el servidor Apache.
Ha creado correctamente una regla de entrada que hace que su instancia esté disponible desde Internet.

4. Creación de una aplicación de Flask

A continuación, configure Flask en su instancia de Ubuntu Linux y, a continuación, cree y ejecute una aplicación de Flask.

Instalación y configuración de Flask

Para configurar Flask con Python 3, realice los siguientes pasos:

  1. Abra el menú de navegación y haga clic en Recursos informáticos. En Recursos informáticos, haga clic en Instancias.
  2. Haga clic en el enlace a la instancia que ha creado en el paso anterior.

    En la página Detalles de instancia, consulte la sección Acceso a instancias. Copie la dirección IP pública que ha creado el sistema. Utilizará esta dirección IP para conectarse a su instancia.

  3. Abra una ventana Terminal o Símbolo del sistema.
  4. Cambie al directorio donde haya almacenado las claves de cifrado ssh que ha creado en la parte 1.
  5. Conéctese a la máquina virtual con este comando SSH.
    ssh -i <your-private-key-file> ubuntu@<x.x.x.x>

    Como ha identificado su clave pública al crear la máquina virtual, este comando lo conecta a la máquina virtual. Ahora puede ejecutar los comandos sudo para instalar e iniciar el servidor.

  6. Actualice la configuración del firewall.

    El firewall de Ubuntu está desactivado por defecto. Sin embargo, debe actualizar la configuración iptables para permitir el tráfico HTTP. Para actualizar iptables, ejecute los siguientes comandos:

    sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 5000 -j ACCEPT
    sudo netfilter-persistent save

    Los comandos agregan una regla para permitir el tráfico HTTP a través del puerto 5000 y guardan los cambios en los archivos de configuración iptables.

  7. Instale pip3 para Python 3.
    sudo apt update
    sudo apt install -y python3-pip
  8. Instale y active un entorno virtual más un envoltorio de entorno virtual.

    Puede utilizar un entorno virtual para gestionar las dependencias del proyecto. Cada proyecto puede estar en su propio entorno virtual para alojar grupos independientes de bibliotecas de Python.

    virtualenvwrapper es una extensión de virtualenv. Proporciona un juego de comandos, lo que hace que trabajar con entornos virtuales resulte mucho más agradable. También coloca todos sus entornos virtuales en un solo lugar. virtualenvwrapper proporciona la finalización de tabulador en los nombres de entorno.

    pip3 install virtualenv
    pip3 install virtualenvwrapper
  9. Configure el envoltorio del entorno virtual en .bashrc.

    Actualice el archivo:

    sudo vi .bashrc

    En el archivo, agregue el siguiente texto y guarde el archivo:

    # set up Python env
    export WORKON_HOME=~/envs
    export PATH=$PATH:/home/ubuntu/.local/bin
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=' -p /usr/bin/python3 '
    source /home/ubuntu/.local/bin/virtualenvwrapper.sh

    Active los comandos anteriores en la ventana actual.

    source ~/.bashrc
  10. Inicie un entorno virtual.
    mkvirtualenv flask01
    El comando devuelve: (flask01) ubuntu@<ubuntu-instance-name>:~$
  11. Instale Flask.
    pip3 install Flask
  12. Cree una aplicación "Hello, World!".

    Cree el archivo:

    sudo vi hello.py

    En el archivo, introduzca el siguiente texto y guarde el archivo:

    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        return 'Hello, World!'
    
    if __name__ == "__main__":
        app.run(host="0.0.0.0", port=int("5000"), debug=True)
  13. Ejecute el programa de Python.
    export FLASK_APP=hello.py
    flask run --host=0.0.0.0
  14. Ahora puede probar el marco de aplicación.

    Desde un nuevo terminal, conéctese a la máquina virtual de Ubuntu con sus claves SSH y, a continuación, en la línea de comandos, introduzca curl localhost:5000. O bien, puede conectar el explorador a la dirección IP pública asignada a su máquina virtual: http://<x.x.x.x>:5000.

    La aplicación devuelve Hello World! en su máquina virtual o en el explorador.
¡Enhorabuena! Ha instalado correctamente Flask en su máquina virtual de Oracle Cloud Infrastructure.

Siguiente paso

Ha instalado correctamente Flask y ha creado una aplicación de Python en Oracle Cloud Infrastructure mediante una máquina virtual de Ubuntu.

Para explorar más información sobre el desarrollo con productos Oracle, consulte estos sitios: