Tengine
Tengine es un servidor web originado por Taobao, el sitio web de comercio electrónico más grande de Asia. Está basado en el servidor HTTP Nginx y tiene muchas características avanzadas. Tengine ha demostrado ser muy estable y eficiente en algunos de los 100 principales sitios web del mundo, incluidos taobao.com y tmall.com.
Instalación y compatibilidad
NGINX Extras te proporciona paquetes compatibles con SELinux de calidad de producción para el servidor web Tengine.
sudo yum -y install https://extras.getpagespeed.com/release-latest.rpm
sudo yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable getpagespeed-extras-tengine
sudo yum -y install tengine
sudo dnf -y install https://extras.getpagespeed.com/release-latest.rpm
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --enable getpagespeed-extras-tengine
sudo dnf -y install tengine
Notas de compatibilidad
Dado que Tengine afirma tener un 100% de compatibilidad con la rama estable de NGINX, puedes instalar fácilmente todos los numerosos paquetes de módulos de NGINX Extras para potenciar aún más tu Tengine, por ejemplo, para añadir el módulo PageSpeed.
Se requiere una suscripción comercial para el repositorio GetPageSpeed solo para instalar módulos de NGINX para Tengine. Debes proporcionar la versión de NGINX compatible con Tengine al instalar módulos, de la siguiente manera:
yum -y install 'nginx-module-pagespeed-1.22.1.*'
Aquí especificamos instalar nginx-module-pagespeed para NGINX 1.22.1, que coincide con la compatibilidad binaria actual de Tengine con NGINX.
Características de Tengine
- Todas las características de nginx 1.22.1 son heredadas, es decir, es 100% compatible con nginx.
- Soporta el método HTTP CONNECT para proxy hacia adelante.
- Soporta OpenSSL asíncrono, utilizando hardware como QAT para la aceleración HTTPS.
- Monitoreo de operaciones mejorado, como registro y retroceso asíncronos, caché DNS, uso de memoria, etc.
- Soporta server_name en el módulo Stream.
- Más métodos de balanceo de carga, por ejemplo, hashing consistente y persistencia de sesión.
- Soporte para filtros de cuerpo de entrada. Es bastante útil para escribir cortafuegos de aplicaciones web utilizando este mecanismo.
- Soporte para lenguaje de scripting dinámico (Lua), que es muy eficiente y facilita la extensión de las funcionalidades centrales.
- Limita los reintentos para servidores upstream (proxy, memcached, fastcgi, scgi, uwsgi).
- Incluye un mecanismo para soportar procesos independientes.
- Protege el servidor en caso de que la carga del sistema o el uso de memoria sean demasiado altos.
- Múltiples solicitudes de CSS o JavaScript pueden combinarse en una sola solicitud para reducir el tiempo de descarga.
- Elimina espacios en blanco innecesarios y comentarios para reducir el tamaño de una página.
- Se pueden realizar verificaciones de salud proactivas de los servidores upstream.
- El número de procesos de trabajo y afinidades de CPU se pueden establecer automáticamente.
- El módulo limit_req se ha mejorado con soporte para listas blancas y se permiten más condiciones en una sola ubicación.
- La información de diagnóstico mejorada facilita la solución de errores.
- Líneas de comando más amigables para el usuario, por ejemplo, mostrando todos los módulos compilados y directivas soportadas.
- Se pueden especificar tiempos de expiración para ciertos tipos MIME.
- Las páginas de error se pueden restablecer a 'predeterminado'.
- ...