Lua#
El paquete Lua integra el lenguaje de programación Lua en el modelo de procesamiento basado en eventos de Angie, permitiendo que la funcionalidad del servidor sea extendida con scripts Lua. Consiste en dos módulos:
lua-nginx-module
— openresty/lua-nginx-modulestream-lua-nginx-module
— openresty/stream-lua-nginx-module
Instalación#
Para instalar el módulo, usa uno de los siguientes paquetes:
Angie:
angie-module-lua
;Angie PRO:
angie-pro-module-lua
.
Características#
Ejemplos de casos de uso:
agregación y procesamiento de salida de varios servidores
upstream
(proxy, drizzle, postgres, redis, memcached, etc.);implementación de lógica de control de acceso y seguridad antes de pasar la petición al backend;
modificación de cabeceras de respuesta;
obtención de datos del servidor upstream desde fuentes externas y selección dinámica del
upstream
;construcción de aplicaciones web completas dentro del
content handler
;realización de enrutamiento de URL durante la fase de reescritura;
implementación de almacenamiento en caché avanzado para subpeticiones y bloques
location
.
El entorno LuaJIT ofrece rendimiento comparable a C, con alta velocidad de ejecución y bajo uso de memoria. Esto hace que la integración de Lua sea especialmente eficiente en Angie.
Carga del Módulo#
Usar el módulo Lua requiere cargar el módulo ndk
previamente.
Los módulos se cargan en el contexto main{}
de la siguiente manera:
load_module modules/ndk_http_module.so;
load_module modules/ngx_http_lua_module.so; # para HTTP
load_module modules/ngx_stream_lua_module.so; # para Stream
Bibliotecas Lua Incluidas#
Las siguientes bibliotecas de terceros se instalan junto con los módulos Lua:
Información Adicional#
Documentación completa y código fuente están disponibles en: