Variables de entorno Django en servidor
Clase 18 de 22 • Curso de Despliegue de Aplicaciones Python en la Nube
Contenido del curso
Configuración de Servidores en la Nube para Despliegue
- 6

Cómo elegir recursos de servidor en AWS
03:33 min - 7

Cómo crear cuenta AWS con free tier
07:17 min - 8

Crear una instancia EC2 con Ubuntu en AWS
12:44 min - 9

SSH con llave .pem en Ubuntu AWS
08:41 min - 10

Cómo gestionar Ubuntu con apt y sudo
10:13 min - 11

Cómo DNS convierte tu IP en dominio memorable
13:55 min - 12

Cómo instalar certificados SSL con Certbot
05:16 min
Administración y Optimización de Servidores para Producción
- 13

Cómo clonar Django en servidor con SSH y Deploy Keys
14:41 min - 14

Configurar uWSGI como servicio para Django
14:34 min - 15

Conectar NGINX con uWSGI por proxy reverso
04:33 min - 16

Logs específicos por aplicación en Python
11:49 min - 17

Cómo configurar Sentry en Django
08:54 min - 18

Variables de entorno Django en servidor
Viendo ahora
Integración de Servicios Complementarios para Aplicaciones Python
Automatización y CI/CD para Despliegues Python
Adopta una configuración segura y reproducible: deja de editar archivos en producción y centraliza los ajustes en variables de entorno. Así mejoras seguridad, trazabilidad y velocidad de despliegue, apoyándote en el repositorio y un archivo .env que la aplicación leerá al iniciar.
¿Por qué dejar de editar en producción y usar variables de entorno?
Modificar archivos directamente en el servidor puede introducir errores y dificulta auditar cambios. La transición a cambios desde el repositorio y a un .env reduce riesgos y estandariza la configuración entre entornos.
- Se detectaron cambios locales con git para debugging y Sentry, además de un uso previo de env.list.
- La rama develop contiene documentación para correr en local y la guía de variables de entorno.
- La configuración pasará a variables como SECRET_KEY, DEBUG, SENTRY_DSN, ALLOW_HOST y DATABASE_URL.
¿Qué prácticas con git confirman el estado actual?
- Ejecutar
git statuspara ver archivos modificados. - Revisar cambios con
git diffy confirmar ediciones a allow_host e instalación de Sentry.
¿Qué variables de entorno clave se configuran en Django?
Estas variables hacen la configuración explícita y portable entre entornos.
- SECRET_KEY: clave de cifrado en Django para datos sensibles.
- DEBUG: activa o desactiva detalles de error en navegador.
- SENTRY_DSN: integra Sentry para capturar y enviar errores a tu cuenta.
- ALLOW_HOST: lista de dominios permitidos para acceder a la app; usa solo el dominio, sin protocolo.
- DATABASE_URL: define el motor y la conexión a base de datos; por defecto es sqlite con archivo local y luego podrá apuntar a postgres.
Puntos clave. - Ejemplos de host: deploying_with_python.local y .com; luego se deja solo deploying_with_python. - La documentación de variables indica qué opciones están disponibles y cómo usarlas.
¿Cómo crear y cargar el archivo .env en el servidor?
El objetivo es que el código lea los valores desde un archivo simple y que el servicio los aplique al reiniciar.
- Ir a la ruta de la app: server/apps/Django.
- Crear un archivo de texto:
bin.envcon tu editor preferido. - Pegar
SENTRY_DSNusando el valor previo o desde Sentry en settings, client_keys. - Definir
ALLOW_HOSTcopiándolo de la documentación y usando solo el dominio. - Guardar el archivo y reiniciar servicios para aplicar cambios.
¿Qué comandos y rutas necesitas?
- Ruta de la app:
server/apps/Django. - Reinicio del servicio de la aplicación:
sudo service uwsgi restart. - Verificación: recargar el sitio y confirmar que funciona correctamente.
¿Qué efectos observarás tras reiniciar uwsgi?
- El inicializador de Sentry en settings toma su DSN desde la variable de entorno.
- Puedes eliminar cambios manuales hechos en el servidor porque la configuración ahora vive en .env.
- Queda listo el .env para migrar de sqlite a postgres cuando se provisionen recursos en AWS.
¿Ya centralizaste tu configuración en .env? Cuéntame en comentarios qué variables te resultan imprescindibles y qué comandos usas para validar tu despliegue.