Tengine
Tengine est un serveur web originaire de Taobao, le plus grand site de commerce électronique en Asie. Il est basé sur le serveur HTTP Nginx et possède de nombreuses fonctionnalités avancées. Tengine s'est avéré très stable et efficace sur certains des 100 meilleurs sites web au monde, y compris taobao.com et tmall.com.
Installation et compatibilité
NGINX Extras vous fournit des paquets compatibles SELinux de qualité production pour le serveur 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
Remarques de compatibilité
Étant donné que Tengine revendique une compatibilité à 100 % avec la branche stable de NGINX, vous pouvez facilement installer tous les nombreux paquets de modules de NGINX Extras pour renforcer votre Tengine, par exemple, pour ajouter le module PageSpeed.
Un abonnement commercial pour le dépôt GetPageSpeed est requis uniquement pour installer des modules NGINX pour Tengine. Vous devez fournir la version NGINX compatible avec Tengine lors de l'installation des modules, comme suit :
yum -y install 'nginx-module-pagespeed-1.22.1.*'
Ici, nous avons spécifié d'installer nginx-module-pagespeed pour NGINX 1.22.1, qui correspond à la compatibilité binaire actuelle de Tengine avec NGINX.
Fonctionnalités de Tengine
- Toutes les fonctionnalités de nginx 1.22.1 sont héritées, c'est-à-dire qu'il est 100 % compatible avec nginx.
- Supporte la méthode HTTP CONNECT pour le proxy avant.
- Supporte OpenSSL asynchrone, utilisant du matériel tel que QAT pour l'accélération HTTPS.
- Surveillance des opérations améliorée, telle que les journaux asynchrones et le rollback, le caching DNS, l'utilisation de la mémoire, etc.
- Supporte server_name dans le module Stream.
- Plus de méthodes d'équilibrage de charge, par exemple, le hachage cohérent et la persistance des sessions.
- Support des filtres de corps d'entrée. Il est très pratique d'écrire des pare-feu d'application web en utilisant ce mécanisme.
- Support du langage de script dynamique (Lua), qui est très efficace et facilite l'extension des fonctionnalités de base.
- Limite les tentatives pour les serveurs en amont (proxy, memcached, fastcgi, scgi, uwsgi).
- Inclut un mécanisme pour supporter des processus autonomes.
- Protège le serveur en cas de charge système ou d'utilisation de la mémoire trop élevée.
- Plusieurs requêtes CSS ou JavaScript peuvent être combinées en une seule requête pour réduire le temps de téléchargement.
- Supprime les espaces blancs et les commentaires inutiles pour réduire la taille d'une page.
- Des vérifications de santé proactives des serveurs en amont peuvent être effectuées.
- Le nombre de processus de travail et les affinités CPU peuvent être définis automatiquement.
- Le module limit_req est amélioré avec un support de liste blanche et plus de conditions sont autorisées dans une seule localisation.
- Des informations de diagnostic améliorées facilitent le dépannage des erreurs.
- Des lignes de commande plus conviviales, par exemple, affichant tous les modules compilés et les directives supportées.
- Des temps d'expiration peuvent être spécifiés pour certains types MIME.
- Les pages d'erreur peuvent être réinitialisées à 'par défaut'.
- ...