Desplegar Flask en producción (guía paso a paso)
¿Qué significa poner Flask en producción?
Cuando desarrollas con Flask usas:
app.run(debug=True)
Eso NO es producción. Es solo para desarrollo.
Desplegar en producción significa:
Tu app está disponible en internet
Usa un servidor real (no el de desarrollo)
Es segura, estable y accesible
¿Qué necesitas para producción?
Para desplegar Flask correctamente necesitas:
Un servidor (VPS, cloud o hosting)
Un servidor WSGI (como Gunicorn)
Un proxy inverso (como Nginx)
Tu código listo
Opción más común: Gunicorn + Nginx (Linux)
Archivos importantes
requirements.txt
pip freeze > requirements.txt
Variables de entorno
Nunca pongas esto en el código:
Contraseñas
Claves secretas
Conexión a base de datos
Usa variables de entorno.
Buenas prácticas
Si quieres que tu app sea estable:
No uses debug=True
Usa Gunicorn o uWSGI
Configura Nginx correctamente
Usa HTTPS
Maneja logs y errores
Reinicio automático (systemd o supervisor)
Errores comunes
❌ Usar app.run() en producción
❌ No configurar Nginx
❌ No usar HTTPS
❌ Exponer credenciales
❌ No abrir puertos
Ejemplo de flujo completo
Subes tu código al servidor
Instalas dependencias
Ejecutas con Gunicorn
Nginx recibe tráfico
Nginx lo pasa a Flask
Usuario accede desde el navegador
Conclusión
Desplegar Flask en producción es el paso que convierte tu proyecto en algo real y accesible para usuarios.
Si dominas esto, ya puedes:
Publicar sistemas web
Crear APIs públicas
Monetizar con AdSense o servicios