Red de conocimiento informático - Material del sitio web - Cómo asociar la aplicación Django con nginx

Cómo asociar la aplicación Django con nginx

Implementar Django a través de nginx (basado en ubuntu)

Hay muchas formas de implementar Django, y usar nginx+uwsgi es uno de los métodos más comunes.

En este enfoque, nuestro enfoque habitual es utilizar nginx como la interfaz del servidor, que recibirá todas las solicitudes de la WEB y administrará las solicitudes de manera unificada.

nginx recibe todas las solicitudes estáticas y las maneja él mismo (este es el punto fuerte de NGINX). Luego, NGINX pasa todas las solicitudes no estáticas a Django a través de uwsgi, que Django procesa para completar una solicitud WEB.

Como puedes ver, uwsgi es como un puente. Es como un puente.

La ventaja de Linux es que se puede utilizar como servidor, por lo que elegimos completar todo el proceso de implementación a continuación en Ubuntu.

1. Instalar Nginx

Nginx es un servidor web/servidor proxy inverso ligero y un servidor proxy de correo electrónico (IMAP/POP3), publicado utilizando un protocolo similar a BSD. Se caracteriza por un bajo uso de memoria y una alta concurrencia. De hecho, nginx tiene la mejor concurrencia entre servidores de red similares.

Nginx también es un servidor web muy popular. Para implementar Django usando Nginx, le daremos una breve introducción.

Sitio web oficial de Nginx: Versión apilada: 4.8.4 a las 06:14:41 del 26 de enero de 2016

os: Linux-3.19.0-25-generic #26~ 14.04 .1 - Ubuntu SMP Viernes 24 de julio 21:18:00 UTC 2015

nombre de nodo: ubuntu

máquina: i686

fuente del reloj: unix

Número detectado de núcleos de CPU: 2

Directorio de trabajo actual:/home/fnngj/pydj/myweb

Ruta binaria detectada:/usr/local/bin/uwsgi

!!!! ¡¡¡No hay soporte de enrutamiento interno, use pcre para admitir la reconstrucción!!!!

chdir() a /home/fnngj/pydj/myweb

Su límite de proceso es 15962

El tamaño de su página de memoria es 4096 bytes

Número máximo de descriptores de archivos detectados: 1024

Lock Engine: mutex robustos de pthread

bloqueo de trueno: deshabilitado (puede habilitarlo con --thunder-lock)

Socket uwsgi 0 vinculado a la dirección TCP:8000 fd 3

Versión de Python: 3.4.3 (predeterminado, 14 de octubre de 2015, 20:37:06) [GCC 4.8.4]

*** La compatibilidad con subprocesos de Python está deshabilitada.

Puede usar --enable-threads ***

El intérprete principal de Python se inicializa en 0x8b52dc0

El retraso en la escucha del socket de su servidor está limitado a 100 conexiones

Su tiempo de misericordia para el funcionamiento correcto del trabajador es de 60 segundos

Asignado 319920 bytes (312 KB) para 4 núcleos

**** Modo de ejecución: preforking ** *

Aplicación WSGI 0 (punto de montaje='') lista en 1 segundo en el intérprete 0x8b52dc0 pid: 7158 (aplicación predeterminada)

**** uWSGI para múltiples intérpretes Ejecutar en modo servidor***

proceso maestro uWSGI generado (pid: 7158)