Nginx – Lenguaje Python
Nginx, pronunciado «motor-X», es el
segundo servidor web más común entre los 100.000 sitios web principales. Nginx también funciona bien como un proxy inverso para manejar solicitudes y devolver respuestas para servidores Python WSGI o incluso otros servidores web como Apache.
¿Cómo se usa Nginx en la implementación de una aplicación web Python?
Nginx se usa comúnmente como servidor web para entregar activos estáticos como imágenes, CSS y JavaScript a los clientes del navegador web.
Nginx también se configura normalmente como un proxy inverso, que pasa las solicitudes HTTP entrantes apropiadas a un servidor WSGI. El servidor WSGI produce contenido dinámico mediante la ejecución de código Python. Cuando el servidor WSGI pasa su respuesta, que a menudo está en formato HTML, JSON o XML, el proxy inverso responde al cliente con ese resultado.
El ciclo de solicitud y respuesta con un servidor proxy inverso y el servidor WSGI se puede ver en el siguiente diagrama.
Normalmente, el cliente no sabrá o no necesitará saber que una aplicación web Python generó el resultado. En cambio, el resultado podría haber sido generado por uno o más sistemas backend escritos en cualquier lenguaje de programación, no solo en Python.
¿Debo usar Nginx o el servidor HTTP Apache?
Seamos claros acerca de estos dos servidores «en competencia»: ambos son fantásticos proyectos de código abierto y servirán bien para la implementación de su aplicación web. De hecho, muchas de las principales aplicaciones web globales utilizan ambos servidores en sus implementaciones para funcionar en muchos pasos a lo largo del ciclo de solicitud-respuesta HTTP.
Personalmente, uso Nginx con más frecuencia que Apache porque la configuración de Nginx se siente más fácil de escribir, con menos repetición que las alternativas.
También hay un poco de pereza en el uso: Nginx funciona bien, nunca me causa problemas. Así que me quedo con mis archivos de administración de configuración Ansible probados en batalla que configuran Nginx con certificados HTTPS y SSL / TLS
Asegurar Nginx
La configuración predeterminada de Nginx después de una instalación estándar a través de un administrador de paquetes del sistema o compilando desde la fuente es una buena base para la seguridad. Sin embargo, configurar cifrados y redireccionamientos puede resultar confuso las primeras veces que lo intente. Es una muy buena idea leer algunos de estos tutoriales para asegurarse de que está evitando los errores de seguridad más comunes que afectan a las configuraciones HTTP (S).
Recursos específicos de Nginx
Nginx se puede utilizar sin Python, por lo que hay una gran cantidad de fantásticos recursos disponibles para instalar, configurar y optimizar esta implementación de servidor web. Los siguientes recursos son los que recopilé durante mi propia lucha mientras aprendía a usar Nginx después de haber usado el servidor HTTP Apache durante varios años.
Esta entrada tiene 0 comentarios