Configuración de Proxy Reverso con Nginx y UWSGI en Python
Clase 15 de 22 • Curso de Despliegue de Aplicaciones Python en la Nube
Resumen
¿Cómo conectar un socket UWSGI con Nginx?
Conectar un socket de UWSGI con Nginx es un paso clave en el proceso de despliegue de aplicaciones en Python. UWSGI crea un archivo de socket que será utilizado por servicios como Nginx para mostrar la aplicación en un navegador web. Sin esta conexión, la aplicación no es accesible para los usuarios.
¿Qué es un proxy reverso?
El concepto de proxy reverso juega un papel fundamental aquí. Un proxy reverso es un servidor que se coloca delante de servidores web para dirigir las peticiones de los usuarios al servidor adecuado. En este caso, Nginx actúa como proxy reverso conectándose al socket y redirigiendo las solicitudes a UWSGI.
¿Cómo configurar Nginx?
Para conectar Nginx con UWSGI, sigue estos pasos:
-
Accede a la configuración de Nginx:
- Usa la terminal para navegar a la carpeta de configuración de Nginx (
/etc/nginx
). - Ejecuta
ls
para listar los archivos y buscasites-available
ysites-enabled
.
- Usa la terminal para navegar a la carpeta de configuración de Nginx (
-
Editar el archivo de configuración:
- Con el comando
cat
, revisa el archivo ensites-available
que corresponde a tu dominio. - Para hacer cambios, utiliza un editor como
vim
con privilegios de superusuario (sudo
).
- Con el comando
-
Modificar las configuraciones:
- Borra las líneas temporales con el comando que duplica la tecla D (DD) en
vim
. - Incluye las nuevas configuraciones, como
include
y las configuraciones de UWSGI. - Usa
uwsgi_pass
con el protocolounix
para pasar el socket correcto a Nginx. - Asegúrate de finalizar cada línea con un punto y coma
;
.
- Borra las líneas temporales con el comando que duplica la tecla D (DD) en
-
Validar y reiniciar Nginx:
- Antes de reiniciar Nginx, valida los cambios con
nginx -t
para comprobar que la sintaxis es correcta. - Si es así, reinicia el servicio con
sudo service nginx restart
.
- Antes de reiniciar Nginx, valida los cambios con
Con estos pasos, habrás conectado exitosamente tu dominio con la aplicación Python usando Nginx y UWSGI.
¿Cómo añadir salud de verificación con Nginx?
Un elemento crucial del despliegue es comprobar la salud del sistema. Aprende a crear un endpoint de verificación en Nginx para asegurar que los sistemas funcionan correctamente.
¿Por qué es importante un estado de verificación?
Cuando tienes varios procesos ejecutándose, como Nginx y UWSGI, uno de ellos puede fallar y causar un error 500 en tu sitio. Un endpoint de verificación te permitirá monitorizar y validar si al menos uno de los servicios está funcionando.
¿Cómo configurarlo?
-
Abre el archivo de configuración de Nginx:
- Sigue los mismos pasos anteriores para acceder y editar el archivo de configuración.
-
Agrega una nueva locación:
- Añade una sección
location
que apunte a un nuevo endpoint, por ejemplo,/status
. - Configura lo que se mostrará cuando se acceda a este endpoint.
- Añade una sección
-
Revisa y reinicia:
- Una vez configurado, guarda los cambios.
- Valida la configuración de nuevo con
nginx -t
. - Si todo está correcto, reinicia el servicio de Nginx.
Así, podrás asegurarte de que tus servidores están operativos y puedes actuar rápidamente en caso de fallo. ¡Sigue aprendiendo y perfeccionando tus habilidades de despliegue en Python y administración de servidores!