Configuración de UWSGI para Despliegue de Aplicaciones Python
Clase 14 de 22 • Curso de Despliegue de Aplicaciones Python en la Nube
Resumen
¿Cómo configurar nuestra aplicación Python utilizando UWSGI?
Configurar una aplicación Python utilizando UWSGI es un proceso que te permitirá mejorar el manejo de recursos y asegurar la ejecución eficiente de tu servidor. Veamos cómo puedes realizar esta configuración.
¿Qué debemos instalar para comenzar?
Primero, necesitamos conectarnos al servidor e instalar UWSGI. Ejecuta el siguiente comando en tu terminal para instalar UWSGI, junto con su plugin para Python:
sudo apt install uwsgi
sudo apt install uwsgi-plugin-python3
Este plugin es crucial ya que UWSGI admite múltiples tipos de aplicaciones, pero necesitamos especificar que vamos a trabajar con aplicaciones de Python.
¿Cómo validar la instalación de UWSGI?
Una vez instalado, valida que UWSGI esté funcionando correctamente ejecutando:
uwsgi
En este punto, debes ver todos los parámetros configurados por defecto, como el tamaño de memoria y el número de procesos que pueden ejecutarse.
¿Cómo crear el archivo de configuración de UWSGI?
Dirígete al directorio de configuraciones de UWSGI ubicado generalmente en /etc/uwsgi
. Debes crear un archivo de configuración para tu aplicación:
- Crea el archivo de configuración en la carpeta
apps-available
usandovim
o tu editor preferido:
sudo vim /etc/uwsgi/apps-available/nombre-aplicacion-production.ini
- En el archivo
.ini
, define las siguientes configuraciones:
[uwsgi]
module = config.wsgi:application
plugins = python3
socket = /tmp/nombre-aplicacion-production.sock
chdir = Ruta/absoluta/a/tu/proyecto
home = Ruta/entorno/virtual
env = DJANGO_SETTINGS_MODULE=configuracion.settings
master = true
processes = 4
- module: Especifica el módulo Python que debe ejecutarse.
- plugins: Indica que se usará el plugin de Python3.
- socket: Define la comunicación entre UWSGI y Nginx.
- chdir y home: Establecen el directorio de trabajo y el entorno virtual para tu aplicación.
- env: Configura las variables de entorno necesarias para ejecutar la aplicación.
- master: Habilita el proceso máster que supervisa otros procesos.
- processes: Configura la cantidad de procesos que deseas ejecutar.
¿Cómo habilitar y validar que tu aplicación está en ejecución?
Para activar tu aplicación, crea un enlace simbólico en la carpeta apps-enabled
:
sudo ln -s /etc/uwsgi/apps-available/nombre-aplicacion-production.ini /etc/uwsgi/apps-enabled/
Verifica que tu aplicación esté corriendo correctamente:
-
Reinicia UWSGI:
sudo service uwsgi restart
-
Usa
htop
para monitorear los procesos:htop
Presiona F4
y filtra por uwsgi
para ver los procesos activos. Deberías ver varios procesos, incluyendo el proceso máster.
-
Confirma que el socket funciona verificando su existencia en
/tmp
:ls /tmp/
Y ahí lo tienes. Una vez que tu archivo de configuración esté activado y los enlaces simbólicos correctos, tu aplicación estará lista para manejar solicitudes mediante UWSGI y Nginx.
¿Qué hacer si encuentras problemas?
Si no ves los procesos en ejecución, puedes verificar con:
sudo service uwsgi status
Asegúrate que no haya errores en los enlaces simbólicos o configuraciones incorrectas dentro del archivo .ini
.
Consejo Extra: Experimenta con distintos parámetros de UWSGI para optimizar tus aplicaciones según tus necesidades. Asegúrate de reiniciar tu servidor después de cada cambio para que los ajustes surtan efecto. ¡Buena suerte configurando tu infraestructura!