que digitalocean deploy django nginx gunicorn

digitalocean - gunicorn nginx django



¿Cuál es el propósito de NGINX y Gunicorn corriendo en paralelo? (1)

Muchas implementaciones de aplicaciones Django en EC2 de Amazon usan servidores HTTP NGINX y Gunicorn.

Me preguntaba qué es lo que realmente hacen y por qué ambos se usan en paralelo. ¿Cuál es el propósito de ejecutarlos a ambos en paralelo?


No se usan en paralelo. NGINX es un proxy inverso . Es el primero en la fila. Acepta conexiones entrantes y decide a dónde deben ir después. También (normalmente) sirve medios estáticos como CSS, JS e imágenes. También puede hacer otras cosas como el cifrado a través de SSL, el almacenamiento en caché, etc.

Gunicorn es la siguiente capa y es un servidor de aplicaciones . NGINX ve que la conexión entrante es para www.domain.com y sabe (a través de archivos de configuración) que debe pasar esa conexión a Gunicorn. Gunicorn es un servidor WSGI que es básicamente un:

interfaz simple y universal entre servidores web y aplicaciones web o marcos

El trabajo de Gunicorn es administrar y ejecutar las instancias de Django (similar al uso de django-admin runserver durante el desarrollo)

El contraste con esta configuración es usar Apache con el módulo mod_wsgi . En esta situación, el servidor de aplicaciones es en realidad una parte de Apache, ejecutándose como un módulo.