Pular para conteúdo

Tengine

Tengine é um servidor web originado pelo Taobao, o maior site de comércio eletrônico da Ásia. Ele é baseado no servidor HTTP Nginx e possui muitos recursos avançados. O Tengine provou ser muito estável e eficiente em alguns dos 100 principais sites do mundo, incluindo taobao.com e tmall.com.

Instalação e compatibilidade

NGINX Extras fornece pacotes compatíveis com SELinux e de nível de produção para o 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 compatibilidade

Como o Tengine afirma ter 100% de compatibilidade com a versão estável do NGINX, você pode facilmente instalar todos os numerosos pacotes de módulos do NGINX Extras para aprimorar ainda mais o seu Tengine, por exemplo, para adicionar o módulo PageSpeed.

A assinatura comercial para o repositório GetPageSpeed é necessária apenas para instalar módulos NGINX para o Tengine. Você deve fornecer a versão do NGINX compatível com o Tengine ao instalar módulos, assim:

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

Aqui especificamos a instalação do nginx-module-pagespeed para o NGINX 1.22.1, que corresponde à compatibilidade binária atual do Tengine com o NGINX.

Recursos do Tengine

  • Todos os recursos do nginx 1.22.1 são herdados, ou seja, é 100% compatível com o nginx.
  • Suporte ao método HTTP CONNECT para proxy reverso.
  • Suporte a OpenSSL assíncrono, utilizando hardware como QAT para aceleração de HTTPS.
  • Monitoramento de operações aprimorado, como log assíncrono e rollback, cache de DNS, uso de memória, etc.
  • Suporte a server_name no módulo Stream.
  • Mais métodos de balanceamento de carga, por exemplo, hashing consistente e persistência de sessão.
  • Suporte a filtro de corpo de entrada. É bastante útil para escrever Firewalls de Aplicação Web usando esse mecanismo.
  • Suporte a linguagem de script dinâmica (Lua), que é muito eficiente e facilita a extensão das funcionalidades principais.
  • Limita as tentativas para servidores upstream (proxy, memcached, fastcgi, scgi, uwsgi).
  • Inclui um mecanismo para suportar processos independentes.
  • Protege o servidor caso a carga do sistema ou o uso de memória fique muito alto.
  • Múltiplas solicitações de CSS ou JavaScript podem ser combinadas em uma única solicitação para reduzir o tempo de download.
  • Remove espaços em branco e comentários desnecessários para reduzir o tamanho de uma página.
  • Verificações de saúde proativas dos servidores upstream podem ser realizadas.
  • O número de processos de trabalho e afinidades de CPU podem ser definidos automaticamente.
  • O módulo limit_req é aprimorado com suporte a lista de permissões e mais condições são permitidas em uma única localização.
  • Informações de diagnóstico aprimoradas facilitam a solução de erros.
  • Linhas de comando mais amigáveis, por exemplo, mostrando todos os módulos compilados e as diretivas suportadas.
  • Tempos de expiração podem ser especificados para certos tipos MIME.
  • Páginas de erro podem ser redefinidas para 'padrão'.
  • ...