Zum Inhalt

Tengine

Tengine ist ein Webserver, der von Taobao, der größten E-Commerce-Website in Asien, entwickelt wurde. Er basiert auf dem Nginx HTTP-Server und bietet viele erweiterte Funktionen. Tengine hat sich als sehr stabil und effizient auf einigen der 100 größten Websites der Welt, einschließlich taobao.com und tmall.com, erwiesen.

Installation und Kompatibilität

NGINX Extras bieten Ihnen produktionsbereite, SELinux-kompatible Pakete für den Tengine-Webserver.

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

Kompatibilitätsnotizen

Da Tengine 100% Kompatibilität mit dem stabilen NGINX-Zweig beansprucht, können Sie alle zahlreichen Modulpakete von NGINX Extras problemlos installieren, um Ihren Tengine weiter zu verbessern, z.B. um das PageSpeed-Modul hinzuzufügen.

Ein kommerzielles Abonnement für das GetPageSpeed-Repository ist nur erforderlich, um NGINX-Module für Tengine zu installieren. Sie müssen die Tengine-kompatible NGINX-Version angeben, wenn Sie Module installieren, wie folgt:

yum -y install 'nginx-module-pagespeed-1.22.1.*'

Hier haben wir angegeben, dass nginx-module-pagespeed für NGINX 1.22.1 installiert werden soll, was der aktuellen Tengine zu NGINX-Binärkompatibilität entspricht.

Tengine-Funktionen

  • Alle Funktionen von nginx 1.22.1 sind vererbt, d.h. es ist 100% kompatibel mit nginx.
  • Unterstützung der CONNECT HTTP-Methode für Forward Proxy.
  • Unterstützung von asynchronem OpenSSL, unter Verwendung von Hardware wie QAT zur HTTPS-Beschleunigung.
  • Verbesserte Überwachungsmöglichkeiten, wie asynchrone Protokollierung & Rollback, DNS-Caching, Speichernutzung usw.
  • Unterstützung von server_name im Stream-Modul.
  • Mehr Lastenausgleichsmethoden, z.B. konsistentes Hashing und Sitzungspersistenz.
  • Unterstützung von Eingabekörperfiltern. Es ist sehr praktisch, Web Application Firewalls mit diesem Mechanismus zu schreiben.
  • Unterstützung einer dynamischen Skriptsprache (Lua), die sehr effizient ist und es einfach macht, die Kernfunktionen zu erweitern.
  • Begrenzung der Wiederholungsversuche für Upstream-Server (Proxy, memcached, fastcgi, scgi, uwsgi).
  • Enthält einen Mechanismus zur Unterstützung von eigenständigen Prozessen.
  • Schützt den Server, falls die Systemlast oder der Speicherverbrauch zu hoch wird.
  • Mehrere CSS- oder JavaScript-Anfragen können zu einer Anfrage zusammengefasst werden, um die Downloadzeit zu reduzieren.
  • Entfernt unnötige Leerzeichen und Kommentare, um die Größe einer Seite zu reduzieren.
  • Proaktive Gesundheitsprüfungen von Upstream-Servern können durchgeführt werden.
  • Die Anzahl der Worker-Prozesse und CPU-Affinitäten kann automatisch festgelegt werden.
  • Das limit_req-Modul ist mit Whitelist-Unterstützung verbessert, und es sind mehr Bedingungen an einem einzelnen Standort erlaubt.
  • Verbesserte Diagnosedaten erleichtern die Fehlersuche.
  • Benutzerfreundlichere Befehlszeilen, z.B. Anzeige aller kompilierten Module und unterstützten Direktiven.
  • Ablaufzeiten können für bestimmte MIME-Typen angegeben werden.
  • Fehlerseiten können auf 'Standard' zurückgesetzt werden.
  • ...