Arquirectura / Conceptos / Componentes

32/37

Lectura

Liberar un proyecto de Django a producción es una tarea bastante sencilla pero que puede confundir a muchos la primera vez que se intente (a mi me sucedió). El objetivo de esta lectura es tener una breve a introducción a la arquitectura de un proyecto de Django corriendo en un servidor de producción (un servidor de verdad) y que consecuentemente los siguientes tutoriales de configuración tengan más sentido al momento de que los leas.

Al principio del curso hablamos de un archivo llamado wsgi.py ubicado dentro del folder de las configuraciones del proyecto, conviviendo junto con el archivo urls.py y settings.py. WSGI significa Web Server Gateway Interface y es un protocolo sencillo de llamadas para que un web server (como NGINX o Apache) se comuniquen con una aplicación web o framework escritos en Python.

WSGI nos permite delegar el trabajo de aplicar reglas complejas de enrutamiento a un web server como NGINX y al mismo tiempo lograr que exista una comunicación del usuario final de nuestro proyecto de Python. Dicho esto, esta sería la ilustración de un servidor que expone múltiples servicios como e-mail a través de pop3, un app server usando SSL, otro app server redirigiendo las peticiones HTTP a HTTPS y una base de datos de PostgreSQL:

Captura de pantalla 2018-07-31 a la(s) 19.16.03.png

Para el caso particular del proyecto del curso, nosotros usaremos un servidor Linux corriendo Ubuntu 16.04 en el cual configuraremos una base de datos de PostgreSQL, un web server NGINX y correremos nuestro proyecto de Django usando Gunicorn. Los archivos estáticos y subidos por los usuarios serán también servidos usando NGINX ya que no es trabajo de Django realizar estas tareas. La base de datos no tiene que estar disponible para el público por lo que no hay necesidad de que NGINX la exponga.

Captura de pantalla 2018-07-31 a la(s) 19.16.35.png

Aportes 15

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Como no va a realizar un video realizandolo o explicando para ser algo mas explicitos, se supone que a él le generó dudas al principio y no realiza un video con el fin de evitar eso en los estudiantes del curso.

creo que lo mejor de tener problemas con el deployment es el aprendizaje que te deja, incluso de como buscar la información.
dejo este enlace, tal vez a alguien le sirva. DIgitalOcean-Django-deployment

Totalmente de acuerdo con las imágenes expuestas, simple y elegante.

Definitivamente Falto Video Explicación para este tema.

Que VPS me recomiendan? no tengo mucha experiencia en hacer deploy.

estoy entre Heroku y Digital Ocean.

Excelente información introductoria.
Coincido con los compañeros; de que el curso debe de ser completo.

Vamos, esto debería ser un video, seguimos esperando la actualización.

Faltó el vídeo explicativo de este tema, pero hasta el momento todo iba muy buen, grande #PabloTrinidad

Excelente

Solo sirve ubuntu o cual es la razon para elegir una distribucion en especifico??

Hola, para los que andan peleando con esto les dejo un link con una forma super sencilla para cargar su proyecto online:

https://studygyaan.com/django/host-django-website-application-for-free-in-5-minutes

Mi ejercicio ejemplo anda y está acá:

https://giampa95.pythonanywhere.com/

Alguien ha hecho deploy en heroku de este proyecto?

Muy claro. Gracias

Gracias,

Se nota que hubo mucho apuro para terminar este curso, pero no entiendo por que no se completo con el tiempo