淘宝的 Nginx 增强版,Tengine-2.0.0 正式发布

jopen 11年前

淘宝的 Nginx 增强版,Tengine-2.0.0 正式发布

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的 性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

从2011年12月开始,Tengine成为一个开源项目,Tengine团队在积极地开发和维护着它。Tengine团队的核心成员来自于淘宝、搜狗等互联网企业。Tengine是社区合作的成果,我们欢迎大家参与其中,贡献自己的力量。

以下沿引项目主页上的特性介绍:

  • 继承Nginx-1.2.8的所有特性,100%兼容Nginx的配置;
  • 动态模块加载(DSO)支持。加入一个模块不再需要重新编译整个Tengine;
  • 更多负载均衡算法支持。如会话保持,一致性hash等;
  • 输入过滤器机制支持。通过使用这种机制Web应用防火墙的编写更为方便;
  • 动态脚本语言Lua支持。扩展功能非常高效简单;
  • 支持管道(pipe)和syslog(本地和远端)形式的日志以及日志抽样;
  • 组合多个CSS、JavaScript文件的访问请求变成一个请求;
  • 可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线;
  • 自动根据CPU数目设置进程个数和绑定CPU亲缘性;
  • 监控系统的负载和资源占用从而对系统进行保护;
  • 显示对运维人员更友好的出错信息,便于定位出错机器;
  • 更强大的防攻击(访问速度限制)模块;
  • 更方便的命令行参数,如列出编译的模块列表、支持的指令等;
  • 可以根据访问文件类型设置过期时间;

我们很高兴的告诉大家,Tengine-2.0.0开发版本正式发布了。您可以在这里下载:http://tengine.taobao.org/download/tengine-2.0.0.tar.gz 或者可以在GitHub上检出代码:https://github.com/alibaba/tengine

这个版本中包括了对SPDY v3协议的实现,其中最重要的是支持了SPDY流控。我们还增强DSO模块,编译动态模块不再依赖原始编译环境了。另外,这个版本基于的Nginx核心也迁移到了1.4.4。

完整的更新列表如下:

* Feature: 增强DSO模块,编译动态模块不再依赖原始编译环境 [monadbobo]
* Feature: 支持SPDY v3协议,自动检测同一端口的SPDY请求和HTTP请求 [lilbedwin、chobits]
* Feature: 支持设置proxy、memcached、fastcgi、scgi、uwsgi在后端失败时的重试次数 [supertcy]
* Feature: tfs模块在RcServer心跳时汇报访问统计 [zhcn381]
* Feature: if指令支持比较数值大小:'>'、'<'、'>='、'<=' [flygoast]
* Feature: 健康检查模块支持长连接检查 [lilbedwin]
* Feature: trim模块支持SSI和ESI的注释 [taoyuanyuan]
* Feature: expires_by_types指令支持使用通配符,例如'text/*'匹配子类型 [zhcn381]
* Feature: 增加$base64_decode_变量前缀,支持计算指定变量的base64解压结果 [yzprofile]
* Feature: 增加$md5_encode_变量前缀,支持计算指定变量的md5哈希 [yzprofile]
* Feature: 增加$time_http变量,支持按http格式输出当前时间 [flygoast]
* Feature: 增加$full_request变量,取得原始的请求url,包括协议类型和域名 [yzprofile]
* Feature: 增加$escape_uri_变量前缀,支持对指定变量进行url转义 [yzprofile]
* Feature: 增加$raw_uri变量,支持取得不含参数的原始uri [flygoast]
* Feature: 支持按微秒记录子请求的请求时间 [jinglong]
* Feature: 增加API,支持对url进行base64编码 [lilbedwin]
* Change: 合并nginx-1.4.4版本的修改 [cfsego]
* Change: 修改stub_status模块,不对子请求进行统计 [jinglong]
* Bugfix: 修正footer模块,不处理含有Content-Encoding头的响应 [yaoweibin]
* Bugfix: 修正client_body_postpone_size指令设置为0时出现的问题 [yaoweibin]
* Bugfix: 修正Lua模块编译时出现警告 [diwayou]

在Tengine的网站上可以浏览更多信息:http://tengine.taobao.org,欢迎反馈意见!

谢谢!