Instalación y configuración de Tengine con soporte para Lua

Para compilar Tengine, un servidor web de alto rendimiento basado en Nginx, siga estos pasos de configuración inicial.

./configure \
--prefix=/opt/tengine \
--error-log-path=/opt/tengine/log/error.log \
--http-log-path=/opt/tengine/log/access.log \
--pid-path=/run/tengine.pid \
--lock-path=/var/lock/tengine.lock \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream

Alternativamente, para una configuración más completa con rutas personalizadas para caché de clientes y proxy:

./configure \
--prefix=/usr/local/tengine \
--error-log-path=/usr/local/tengine/logs/error.log \
--http-log-path=/usr/local/tengine/logs/access.log \
--pid-path=/var/run/tengine.pid \
--lock-path=/var/run/tengine.lock \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/cache/tengine/client \
--http-proxy-temp-path=/var/cache/tengine/proxy \
--with-pcre

Instalación de Tengine con módulos Lua

Para integrar Lua en Tengine, se requieren LuaJIT y los módulos ngx_devel_kit y lua-nginx-module.

Instale las dependencias del sistema:

yum -y install gcc gcc-c++ pcre-devel openssl-devel zlib-devel

1. Instalar LuaJIT

Descargue, compile e instale LuaJIT desde la fuente:

wget http://luajit.org/download/LuaJIT-2.1.0-beta3.tar.gz
tar xzvf LuaJIT-2.1.0-beta3.tar.gz
cd LuaJIT-2.1.0-beta3
make install PREFIX=/usr/local/luajit

Configure las variables de entorno para apuntar a la instalación de LuaJIT:

export LUAJIT_LIB=/usr/local/luajit/lib
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.1

2. Obtener los módulos ngx_devel_kit y lua-nginx-module

Descargue y extraiga ngx_devel_kit y lua-nginx-module en un directorio de trabajo:

wget https://github.com/vision5/ngx_devel_kit/archive/v0.3.1.tar.gz
tar -xzvf v0.3.1.tar.gz
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.15.tar.gz
tar -xzvf v0.10.15.tar.gz

3. Compilar e instalar Tengine con los módulos Lua

Descargue el código fuente de Tengine y configure la compilación incluyendo los módulos Lua:

wget http://tengine.taobao.org/download/tengine-2.3.3.tar.gz
tar -xvf tengine-2.3.3.tar.gz
cd tengine-2.3.3
./configure \
--prefix=/opt/tengine-lua \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--add-module=../ngx_devel_kit-0.3.1 \
--add-module=../lua-nginx-module-0.10.15 \
--with-ld-opt="-Wl,-rpath,/usr/local/luajit/lib"

Finaliec la compilación e instalación:

make
make install

Consideraciones para distribuciones como Ubuntu

En sistemas basados en Debian o Ubuntu, el proceso es similar, pero se pueden usar herramientas de gestión de paquetes para instalar las dependencias. Asegúrese de que las bibliotecas de desarrollo estén presentes.

Resolución de problemas comunes

Error con OpenSSL: Si durante la compilación se encuentran advertencias o errores sobre funciones obsoletas en OpenSSL 3.x, como ENGINE_by_id, considere compilar con una versión anterior de OpenSSL, como la 1.1.1. Descargue el código fuente de OpenSSL 1.1.1, compílelo en un directorio separado y pase la ruta a la configuración de Tengine usando --with-openssl=.

Archivo config no encontrado: Si el script ./config de OpenSSL no se encuentra durante la compilación de Tengine, puede ser necseario editar el archivo de configuración de OpenSSL dentro del código fuente de Tengine. Modifique el archivo auto/lib/openssl/conf para eliminar rutas redundantes como .openssl/ en las definiciones de CORE_INCS, CORE_DEPS y CORE_LIBS.

Etiquetas: Tengine Nginx LuaJIT lua-nginx-module ngx_devel_kit

Publicado el 6-25 23:14