Cómo asociar la aplicación Django con nginx
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 p>
!!!! ¡¡¡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)