fbpx

Como instalar una aplicación Flask Python en cPanel

En este articulo vamos a enseñar a instalar una aplicación Flask Python en cPanel.

El primer paso es conectarnos por ssh o mediante la terminal de cPanel y crear el directorio o descargar tu aplicación python en el directorio raíz de nuestra cuenta:

$ mkdir my_project

o 

$ git clone .......

Luego vamos a preparar el entorno virtual de las librerías

$ python3 -m venv my_project

Si todo va bien, podremos ver en nuestro Administrador de Archivos de cPanel que se habrán creado los siguientes archivos dentro de la carpeta my_project:

Ingresamos al directorio del proyecto

$ cd my_project

Activamos el entorno virtual para instalar las librerías necesarias

$ source bin/activate
Nota: luego de ejecutar el comando nuestro prompt cambiará a (my_project) $

Instalamos Flask:

(my_project) $ pip install flask

Ahora nuestra carpeta my_project se verá asi:

Y aparecerá Flask dentro de la carpeta bin:

Creamos nuestra aplicación Flask usando nuestro editor de texto preferido, en este caso vi:

(my_project) $ vi python_app.py

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
  return "<h1>Hello, world!</h1>"

Ahora creamos el archivo que ejecutará nuestra aplicación a través del Applicaction Manager de cPanel. Es importante usar el nombre passenger_wsgi.py o nuestra aplicación no funcionará:

(my_project) $ vi passenger_wsgi.py

import sys, os

INTERP = "/home/usuariodecpanel/my_project/bin/python"
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)

from python_app import app as application

Quedando todo de esta manera:

Por último registramos nuestra aplicación en el Applicaction Manager de cPanel como indicamos a continuación

Application Manager

Listo, ya tenemos nuestra aplicación registrada y lista para acceder a través de nuestro dominio y la dirección que hayamos elegido.

Un comentario en “Como instalar una aplicación Flask Python en cPanel”

Deja un comentario

Tu dirección de correo electrónico no será publicada.