Tengine – Chiński zmodyfikowany serwer nginx

logo

Tengine jest serwerem WWW pochodzącym od Taobao, największy e-commerce w Azji.

Opiera się ona na serwerze HTTP nginx i posiada wiele zaawansowanych funkcji.

Tengine okazał się być bardzo stabilny i skuteczny na niektórych z 100 najlepszych stron internetowych na świecie, w tym Taobao.com i tmall.com.

Tengine jest projektem OpenSource od grudnia 2011.

Jest on aktywnie rozwijany przez grupe Tengine, którego członkowie pochodzą z rdzenia Taobao, Sogou i innych firm internetowych.

Autorzy Tengine – na mieisac marzec 2016 bazuje na nginx 1.8.0 (czyli gałęźi stable) ale wprowadza takie funkcje jak protokół http/2 bez konieczności posiadania serwera www nginx z gałęzi Mainline (co może być sporym plusem, bo galąź mainline nie jest po prostu stabilna 😉 )

 

Autorzy Tengine dokładaja od siebie juz na starcie moduły (domyślnie w nginx nie wszystkie sa dodane)

Oto lista kilku z nich:

Funckje serwera nginx Http core module
DSO module Dyups module
HTTP/2 module Proc module
Backtrace module Concat module
Session sticky module Consistent hash module
Variables User agent module
Upstream keepalive timeout Upstream check module
Lua module Stub status module
Footer module Headers module

Oraz dołączone przeze mnie:

auth-pam cache-purge
dav-ext-module development-kit
echo fancyindex
upstream fair substitutions filter module
VTS Google PageSpeed
redis2 srcache

Z racji że dołączyłem kilka przydatnych modułów, postanowiłem dokleić do plików źródłowych moja propozycje na konfigurację, więć dołączyłem gotowe pliki konfiguracyjne ( /etc/nginx/ – po instalacji) gdzie sa spredefiniowane regułki do Modułów, konfiguracja itp, wszystko powiązane jest z  moimi wpisami dotyczacymi nginx np. tu

 

Dodatkowo przygotowałem źródła (pod system Debian/Ubuntu i pochodne) który ostatecznie wygeneruje pliki .deb (zgodnie z zasada dla nginx).

 

Przejdźmy do kompilacji i instalacji:

apt update; apt install dpkg-dev build-essential zlib1g-dev libpcre3 libpcre3-dev unzip curl libcurl4-openssl-dev libossp-uuid-dev nano curl git autotools-dev debhelper dh-systemd libexpat-dev libgd-dev libgeoip-dev libluajit-5.1-dev liblua5.1-0-dev libmhash-dev libpam0g-dev libperl-dev libxslt1-dev po-debconf libssl-dev -y

wget http://repo.linuxiarz.pl/tengine-2.2-linuxiarz.pl.tar.gz
tar xvf  tengine-*.tar.gz
rm tengine-*.tar.gz
cd tengine*
dpkg-buildpackage -b
cd .. 

dpkg -i nginx-common_2-tengine*.deb nginx_2-tengine*.deb nginx-extras_2-tengine*.deb nginx-doc_2-tengine*.deb

I start serwera www:

systemctl start nginx.service

Jeśli nie masz systemd

service nginx start

Efekt:

nginx -v
Tengine version: Tengine/2.2.0 (nginx/1.8.0)

Żródła na GitHub: https://github.com/alibaba/tengine
Strona:
Dokumentacja: