de servidores de aplicaciones , en el marco del cual se desarrolla una solución para habilitar la ejecución de aplicaciones web en diversos lenguajes de programación (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js y Java). Bajo el control de NGINX Unit pueden ejecutarse simultáneamente varias aplicaciones en diferentes lenguajes de programación, cuyos parámetros de lanzamiento pueden modificarse dinámicamente sin necesidad de editar archivos de configuración y reiniciar. El código está escrito en lenguaje C y bajo la licencia Apache 2.0. Se puede conocer las características de NGINX Unit en de la primera versión.
En la nueva versión:
- Se ha introducido la capacidad de enrutar solicitudes por direcciones y números de puertos de origen y destino.
- Se ha añadido el soporte para cambiar de usuario y grupo para aplicaciones aisladas, en situaciones donde el proceso en segundo plano de Unit se ejecuta con los derechos de un usuario no privilegiado.
- El nombre para importar paquetes en Go ha cambiado a «unit.nginx.org/go» (para instalar un módulo para Unit se puede usar el comando «go get unit.nginx.org/go»).
- Al compilar, los paquetes en Go ahora se enlazan con libunit.
- Se ha reducido el consumo de memoria al procesar respuestas muy grandes.
- Actualizado entornos para el sistema Docker, permitiendo desplegar rápidamente una solución basada en NGINX Unit. El contenido de la imagen se ha actualizado de Debian 9 a Debian 10;
- Se han añadido paquetes con módulos para CentOS y RHEL 7,
Python 3.6. Se han añadido paquetes con Python 3.7 para Amazon Linux 2 LTS. Los paquetes para Python 2.7 han sido renombrados de «unit-python» a «unit-python27».
Se puede marcar simultáneamente una corrección de la rama principal , en la que continúa el desarrollo de nuevas capacidades (en la rama estable paralela 1.16 solo se realizan cambios relacionados con la corrección de errores graves y vulnerabilidades). En la nueva versión se han propuesto solo correcciones de errores. Por ejemplo, se han solucionado bloqueos que ocurrían al utilizar un reemplazo vacío en la directiva «rewrite» y al usar la directiva «break» junto a las directivas «alias» o «proxy_pass» con URI. También se ha corregido el llenado incorrecto del encabezado «Location» cuando hay caracteres con código nulo en las reglas de conversión de direcciones. En el manejador HTTP/2 se ha solucionado una fuga de sockets de red. Se ha corregido un error que provocaba la interrupción de la conexión SSL por tiempo de espera al procesar solicitudes en tuberías.
Fuente: opennet.ru
