Tengine是由淘宝网发起的Web服务器项目。在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。
它的最终目标是打造一个高效、稳定、安全、易用的 Web 平台。
从 2011 年 12 月开始,Tengine 成为一个开源项目,Tengine 团队在积极地开发和维护着它。Tengine 团队的核心成员来自于淘宝、搜狗等互联网企业。
特性
- 继承 Nginx-1.17.3 的所有特性,兼容 Nginx 的配置;
- 支持 HTTP 的 CONNECT 方法,可用于正向代理场景;
- 支持异步 OpenSSL,可使用硬件如:QAT 进行 HTTPS 的加速与卸载;
- 增强相关运维、监控能力,比如异步打印日志及回滚,本地 DNS 缓存,内存监控等;
- Stream 模块支持 server_name 指令;
- 更加强大的负载均衡能力,包括一致性 hash 模块、会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线,以及动态解析 upstream 中出现的域名;
- 输入过滤器机制支持。通过使用这种机制 Web 应用防火墙的编写更为方便;
- 支持设置 proxy、memcached、fastcgi、scgi、uwsgi 在后端失败时的重试次数
- 动态脚本语言 Lua 支持。扩展功能非常高效简单;
- 支持按指定关键字(域名,url 等)收集 Tengine 运行状态;
- 组合多个 CSS、JavaScript 文件的访问请求变成一个请求;
- 自动去除空白字符和注释从而减小页面的体积
- 自动根据 CPU 数目设置进程个数和绑定 CPU 亲缘性;
- 监控系统的负载和资源占用从而对系统进行保护;
- 显示对运维人员更友好的出错信息,便于定位出错机器;
- 更强大的防攻击(访问速度限制)模块;
- 更方便的命令行参数,如列出编译的模块列表、支持的指令等;
- 可以根据访问文件类型设置过期时间。