lanzamiento del servidor 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:
- soporte para balanceo de carga en modo round-robin. Por ejemplo, para distribuir la carga entre dos servidores 192.168.0.100 y 192.168.0.101, dirigiendo el doble de solicitudes al segundo, se puede usar la siguiente estructura:
«upstreams»: {
«rr-lb»: {
«servers»: {
«192.168.0.100:8080»: { },
«192.168.0.101:8080»: { «weight»: 2 }
}
}
} - la capacidad de establecer reglas flexibles de enrutamiento de solicitudes, similares a la funcionalidad «» en nginx. Una ruta adicional se define mediante la directiva «fallback», que se activa si el archivo solicitado no se encuentra en la ruta definida a través de la directiva «share». Por ejemplo, para invocar un manejador en PHP en caso de que falte un archivo en el directorio /data/www/, se puede indicar:
{
«share»: «/data/www/»,
«fallback»: {
«pass»: «applications/php»
}
}Se permite el uso de bloques anidados «fallback». Por ejemplo, si no hay archivo en /data/www/, se puede intentar obtenerlo de /data/cache/, y si tampoco está allí, redirigir la solicitud a otro backend:
{
«share»: «/data/www/»,«fallback»: {
«share»: «/data/cache/»,«fallback»: {
«proxy»: «http://127.0.0.1:9000»
}
}
} - En los parámetros de configuración cargados en formato JSON, se garantiza la eliminación de comentarios al estilo JavaScript («//…» y «/* … */») y la limpieza de marcadores de secuencia de bytes (), lo cual puede ser útil en caso de edición manual de los parámetros en JSON.
- Se ha reducido el consumo de memoria al volcar el cuerpo de solicitudes muy grandes en disco.
Fuente: opennet.ru
