Browse Source

added README.markdown and CHANGES.cn

http://rb.corp.taobao.com/r/32066/


git-svn-id: http://code.taobao.org/svn/tengine/trunk@88 8a6cbc4f-5610-49f6-9325-3f9afe71ff98
pull/1/head tengine-1.3.0
shudu 13 years ago
parent
commit
e7c32b063d
  1. 81
      CHANGES.cn
  2. 140
      CHANGES.te
  3. 30
      README.markdown

81
CHANGES.cn

@ -0,0 +1,81 @@
Tengine-1.3.0 [2012-05-25]
* Feature:加入Lua模块,可以在配置中使用Lua语言 [chaoslawful, agentzh]
* Feature:加入procs模块,可以更方便的开启独立进程 [yuanzhuo]
* Change:user_agent模块中参数nongreedy改名为greedy [xiongjunmin]
* Bugfix:修复syslog指令中因为指针未初始化引起的段错误 [weiyue]
* Bugfix:修复syslog指令打开--with-ipv6选项引起的编译错误 [weiyue]
Tengine-1.2.5 [2012-05-09]
* Feature:增加upstream_check模块,对后端服务器做主动健康检查,以自动的下线失效的服务器 [wenjing]
* Feature:允许syslog输出日志时指定程序的标识(program identifier) [weiyue]
* Change:合并nginx-1.0.14至nginx-1.0.15之间的修改 [shudu]
* Change:将accept_mutex_delay的默认值从500毫秒更改为100毫秒以提高性能 [shudu]
* Bugfix:修复syslog的一个在后端服务器连接不上导致端错误的bug [weiyue]
* Bugfix:修复access_log可能和buffer参数冲突的bug [weiyue]
Tengine-1.2.4 [2012-03-30]
* Feature:增加user_agent模块 [xiongjunmin]
* Feature:增加log_escape指令 [agentzh, yixiao]
* Change:合并nginx-1.0.12至nginx-1.0.14之间的修改 [shudu]
* Bugfix:修复limit_req模块的一个bug [liseen.wan]
* Bugfix:修复subrequest的一个bug [lizi]
Tengine-1.2.3 [2012-02-27]
* Feature:增加request_time_cache指令,用来控制是否启用精确的响应时间 [yuanzhuo]
* Feature:增加slice模块,获得一个文件的一个片段,可以添加头和尾 [shudu]
* Change:合并nginx-1.0.11至nginx-1.0.12之间的修改 [shudu]
* Change:去掉无用的user-agent判断 [shudu]
* Bugfix:修复upstream中的一个process_header的bug [lizi]
* Bugfix:修复expires_by_types的一个bug [lizi]
Tengine-1.2.2 [2012-01-11]
* Feature:增加input body filter机制 [weiyue]
* Feature:对mail部分支持ssl的dialog [weiyue]
* Change:合并进nginx-1.0.10至nginx-1.0.11之间的修改 [shudu]
* Change:默认关掉lingering_close [shudu]
* Bugfix:修正日志管道时的bug [weiyue]
* Bugfix:修正limit_req的forbid_action无效的bug [diaoliang]
* Bugfix: 修正backtrace模块backtrace_max_stack_size的问题 [diaoliang]
* Bugfix:修正内容为空footer模块输出不正确的问题 [xiongjunmin]
* Bugfix:修正syslog时hostname最后一个字母丢失的问题 [weiyue]
Tengine-1.2.1 [2011-12-06]
* Bugfix:修正默认错误日志和访问日志不存在时启动报错的bug [yuanzhuo]
Tengine-1.2.0 [2011-11-29]
* Feature:错误日志和访问日志支持输出到syslog [weiyue]
* Feature:错误日志和访问日志支持输出到管道的方式 [weiyue]
* Feature:增加realloc相关的API,包括内存池 [gongyuan]
* Feature:HTTP日志支持更多的有关时间的变量 [yixiao]
* Feature:增加backtrace模块,在coredump时输出调用栈 [diaoliang]
* Feature:limit_req功能增强,增加白名单,可以有多个条件 [diaoliang]
* Feature:sysguard模块,load和内存占用偏高时进行保护 [lizi]
* Feature:增加API(ngx_http_header_in/ngx_http_header_out),用来取输入和输出的HTTP头信息 [lizi]
* Feature:增加两个变量$request_time_msec和$request_time_usec,分别是相应时间的毫秒表示和微秒表示 [jinglong]
* Feature:增加footer模块,可以在HTML末尾添加内容(支持变量) [yunxing]
* Feature:增加变量$conn_requests,记录当前request是连接上的第几个 [lieyuan]
* Feature:增加变量$host_comment,插入注释功能,以说明哪台机器产生的请求 [yunxing]
* Feature:访问日志增加ratio参数,抽样功能,可以减少日志的记录量 [weiyue]
* Feature:增加server_admin、server_info指令,出错信息提示,更友好的错误页面 [lieyuan]
* Feature:增加命令行参数-d,把配置文件的内容全部打印出来 [piaoliang]
* Feature:增加指令expires_by_types,可以根据types来设置超时 [lizi]
* Feature:增加命令行参数-l,可以列出所有的directives [xiongjunmin]
* Feature:增加ngx_atoll的api,可以将字符串转换成64位整数,支持32位与64位系统 [lizi]
* Feature:status line(302,405)现在采用RFC 2616的标准 [shudu]
* Feature:ngx_escape_uri/ngx_unescape_uri现在支持PHP/Java的编解码格式 [shudu]
* Feature:配置文件include多个文件时按照字母顺序进行包含 [shudu]
* Feature:error_page指令增强,支持default,可以把把上一级设置的error_page重新设定 [shudu]
* Feature:增加对每请求的响应时间的统计(cacti,tsar) [jinglong]
* Feature:增加指令server_tag,更强大的控制HTTP服务器的Server头是否显示以及内容是什么 [jinglong]
* Feature:自动调整worker进程的数目和绑定CPU亲缘性 [weiyue]
* Feature:增加指令ssl_pass_phrase_dialog,SSL对key进行加密功能 [weiyue]
* Feature:增加-s选项的start参数 [shudu]
* Feature:增加-m选项,可以把已编译的模块列出来 [shudu]
* Change:更改msie_padding的默认值为关掉 [shudu]
* Bugfix:修复open_file_cache在已经检测到缓存文件发生变化后,仍然返回过时的文件状态信息的问题 [weiyue]
* Bugfix:修复upsteam在subrequest in memory且keepalive时会导致timeout的bug [lizi]
* Bugfix:修复$sent_http_connection和$sent_http_keep_alive记录不正确的问题 [zhongsheng]
* Bugfix:修正error_page不能发现重复的code的问题,不能正常继承上一级设置的问题 [shudu]
* Bugfix:修正Nginx在处理FastCGI时有重复HTTP头会core dump的bug [diaoliang]
* Bugfix:修正Nginx对CPU亲缘性设置不正确的bug [weiyue]

140
CHANGES.te

@ -2,191 +2,191 @@
Changes with Tengine 1.3.0 25 May 2012
*) Feature: added the Lua module which embeds the power of Lua into Tengine.
(chaoslawful)
(chaoslawful, agentzh)
*) Feature: added the procs module which provides a mechanism to support
standalone process more easily. (Yuanzhuo)
standalone processes. (yuanzhuo)
*) Change: renamed the parameter from nogreedy to greedy in the user_agent
module. (Junmin Xiong)
*) Change: renamed the parameter from 'nongreedy' to 'greedy' in the
user_agent module. (xiongjunmin)
*) Bugfix: fixed a segmentation fault bug in syslog with uninitialized
pointer problem. (Weiyue)
pointer problem. (weiyue)
*) Bugfix: fixed a compile error in syslog with --with-ipv6 configuration
parameter. (Weiyue)
*) Bugfix: fixed a compile error in syslog with '--with-ipv6' configuration
parameter. (weiyue)
Changes with Tengine 1.2.5 09 May 2012
*) Feature: added the upstream_check module which could be used to do
proactive health check of upstream servers. (Wenjing)
proactive health check of upstream servers. (wenjing)
*) Feature: now allow to specify program identifiers with syslogs. (Weiyue)
*) Feature: now allow to specify program identifiers with syslogs. (weiyue)
*) Change: merged changes between nginx-1.0.14 and nginx-1.0.15. (Shudu)
*) Change: merged changes between nginx-1.0.14 and nginx-1.0.15. (shudu)
*) Change: the default value of 'accept_mutex_delay' was changed from
500ms to 100ms to gain better performance. (Shudu)
500ms to 100ms to gain better performance. (shudu)
*) Bugfix: fixed a segmentation fault bug in syslog when failed to connect
to an upstream server. (Weiyue)
to an upstream server. (weiyue)
*) Bugfix: fixed the bug of 'access_log' might not be compatible with the
'buffer' parameter. (Weiyue)
'buffer' parameter. (weiyue)
Changes with Tengine 1.2.4 30 Mar 2012
*) Feature: added the user_agent module. (Junmin Xiong)
*) Feature: added the user_agent module. (xiongjunmin)
*) Feature: added the 'log_escape' directive. (agentzh, Yixiao)
*) Feature: added the 'log_escape' directive. (agentzh, yixiao)
*) Change: merged changes between nginx-1.0.12 and nginx-1.0.14. (Shudu)
*) Change: merged changes between nginx-1.0.12 and nginx-1.0.14. (shudu)
*) Bugfix: fixed a bug in the limit_req module. (liseen.wan)
*) Bugfix: fixed a bug in subrequest. (Lizi)
*) Bugfix: fixed a bug in subrequest. (lizi)
Changes with Tengine 1.2.3 27 Feb 2012
*) Feature: added the 'request_time_cache' directive to get more precise
$request_time/$request_time_msec/$request_time_usec. (Yuanzhuo)
$request_time/$request_time_msec/$request_time_usec. (yuanzhuo)
*) Feature: added the slice module. (Shudu)
*) Feature: added the slice module. (shudu)
*) Change: merged changes between nginx-1.0.11 and nginx-1.0.12. (Shudu)
*) Change: merged changes between nginx-1.0.11 and nginx-1.0.12. (shudu)
*) Change: deleted unused browsers detection. (Shudu)
*) Change: deleted unused browsers detection. (shudu)
*) Bugfix: fixed a bug in upstream when reading header. (Lizi)
*) Bugfix: fixed a bug in upstream when reading header. (lizi)
*) Bugfix: fixed a bug in 'expires_by_types'. (Lizi)
*) Bugfix: fixed a bug in 'expires_by_types'. (lizi)
Changes with Tengine 1.2.2 11 Jan 2012
*) Feature: added the input body filter mechanism. (Weiyue)
*) Feature: added the input body filter mechanism. (weiyue)
*) Feature: added SSL dialog support to the mail module. (Weiyue)
*) Feature: added SSL dialog support to the mail module. (weiyue)
*) Change: merged changes between nginx-1.0.10 and nginx-1.0.11. (Shudu)
*) Change: merged changes between nginx-1.0.10 and nginx-1.0.11. (shudu)
*) Change: turned 'lingering_close' off by default. (Shudu)
*) Change: turned 'lingering_close' off by default. (shudu)
*) Bugfix: fixed a bug in pipe logs. (Weiyue)
*) Bugfix: fixed a bug in pipe logs. (weiyue)
*) Bugfix: fixed a 'forbid_action' bug in the limit_req module. (Diaoliang)
*) Bugfix: fixed a 'forbid_action' bug in the limit_req module. (diaoliang)
*) Bugfix: fixed a bug in 'backtrace_max_stack_size'. (Diaoliang)
*) Bugfix: fixed a bug in 'backtrace_max_stack_size'. (diaoliang)
*) Bugfix: fixed a bug in the footer module when output body is empty.
(Junmin Xiong)
(xiongjunmin)
*) Bugfix: fixed the last hostname letter omitted bug in syslog. (Weiyue)
*) Bugfix: fixed the last hostname letter omitted bug in syslog. (weiyue)
Changes with Tengine 1.2.1 06 Dev 2011
*) Bugfix: fixed a segmentation fault bug when using default error log
or access log. (Yuanzhuo)
or access log. (yuanzhuo)
Changes with Tengine 1.2.0 29 Nov 2011
*) This is the first public release.
*) Feature: added syslog support to error_log and access_log. (Weiyue)
*) Feature: added syslog support to error_log and access_log. (weiyue)
*) Feature: added pipe support to error_log and access_log. (Weiyue)
*) Feature: added pipe support to error_log and access_log. (weiyue)
*) Feature: added realloc() related APIs. (Gongyuan)
*) Feature: added realloc() related APIs. (gongyuan)
*) Feature: added time specific variables. (Yixiao)
*) Feature: added time specific variables. (yixiao)
*) Feature: added the backtrace module. (Diaoliang)
*) Feature: added the backtrace module. (diaoliang)
*) Feature: added whitelist support to the limit_req module. (Diaoliang)
*) Feature: added whitelist support to the limit_req module. (diaoliang)
*) Feature: now more limit_req directives are allowed in a single location.
(Diaoliang)
(diaoliang)
*) Feature: added the sysguard module. (Lizi)
*) Feature: added the sysguard module. (lizi)
*) Feature: added two APIs, ngx_http_header_in and ngx_http_header_out.
(Lizi)
(lizi)
*) Feature: added two variables, $request_time_msec and $request_time_usec.
(Jinglong)
(jinglong)
*) Feature: added the footer module. (Yunxing)
*) Feature: added the footer module. (yunxing)
*) Feature: added the $conn_requests variable which is similar to Apache's
'%K'. (Lieyuan)
'%K'. (lieyuan)
*) Feature: added the $host_comment variable. (Yunxing)
*) Feature: added the $host_comment variable. (yunxing)
*) Feature: added a 'ratio' parameter to access_log so now access log can be
sampled. (Weiyue)
sampled. (weiyue)
*) Feature: added the 'server_info' and 'server_admin' directives to show
more information when 4xx/5xx errors encountered. (Lieyuan)
more information when 4xx/5xx errors encountered. (lieyuan)
*) Feature: added the '-d' command line option to dump contents of
the configuration files. (Piaoling)
the configuration files. (piaoling)
*) Feature: added response time statistics to the stub_status module.
(Jinglong)
(jinglong)
*) Feature: added the 'server_tag' directive. (Shudu)
*) Feature: added the 'server_tag' directive. (shudu)
*) Feature: now the 'worker_processes' supports the 'auto' parameter, which
sets the worker process numbers to the cores automatically. (Weiyue)
sets the worker process numbers to the cores automatically. (weiyue)
*) Feature: now the 'worker_cpu_affinity' directive supports the 'auto'
parameter, which binds the worker processes to the cores automatically.
(Weiyue)
(weiyue)
*) Feature: added the 'ssl_pass_phrase_dialog' directive. (Weiyue)
*) Feature: added the 'ssl_pass_phrase_dialog' directive. (weiyue)
*) Feature: added the '-s start' command line option. (Shudu)
*) Feature: added the '-s start' command line option. (shudu)
*) Feature: added '-m' command line option to list all compiled-in modules.
(Shudu)
(shudu)
*) Feature: added the 'expires_by_types' directive. (Lizi)
*) Feature: added the 'expires_by_types' directive. (lizi)
*) Feature: added the '-l' command line option to list all supported
directives. (Junmin Xiong)
directives. (xiongjunmin)
*) Feature: added the ngx_atoll() API, which can convert a string to a long
long integer (64 bits). (Lizi)
long integer (64 bits). (lizi)
*) Feature: now status lines (302, 405) are RFC-2616 compatibale. (Shudu)
*) Feature: now status lines (302, 405) are RFC-2616 compatibale. (shudu)
*) Feature: now ngx_escape_uri/ngx_unescape_uri supports encoding/decoding
style of Java and PHP. (Shudu)
style of Java and PHP. (shudu)
*) Feature: now configuration files included are sorted. (Shudu)
*) Feature: now configuration files included are sorted. (shudu)
*) Feature: now 'error_page' can be reset to 'default' (Shudu)
*) Feature: now 'error_page' can be reset to 'default' (shudu)
*) Change: turned 'msie_padding' off by default. (Shudu)
*) Change: turned 'msie_padding' off by default. (shudu)
*) Bugfix: fixed a bug when subrequest_in_memory and upstream keepalive
being used. (Lizi)
being used. (lizi)
*) Bugfix: fixed a bug in $sent_http_connection and $sent_http_keep_alive.
(Zhongsheng)
(zhongsheng)
*) Bugfix: fixed a bug that error_page directive can't detect duplicate
codes and inherited correctly. (Shudu)
codes and inherited correctly. (shudu)
*) Bugfix: fixed a segmentation fault bug in the FastCGI module, while
processing duplicated HTTP headers. (Diaoliang)
processing duplicated HTTP headers. (diaoliang)
*) Bugfix: fixed a bug that file in open_file_cache can't be updated.
(Weiyue)
(weiyue)
*) Bugfix: fixed a bug in 'worker_cpu_affinity'. (Weiyue)
*) Bugfix: fixed a bug in 'worker_cpu_affinity'. (weiyue)

30
README.markdown

@ -0,0 +1,30 @@
Introduction
============
Tengine is a web server originated by [Taobao](http://en.wikipedia.org/wiki/Taobao), the largest e-commerce website in Asia. It is based on the popular [Nginx](http://nginx.org) HTTP server and has many advanced features. Tengine has been proven very stable and efficient on the top 100 websites, including [taobao.com](http://www.taobao.com) and [tmall.com](http://www.tmall.com).
Tengine has been an open source project since December 2011.
Features
========
* All features of Nginx-1.0.15 are inherited, i.e. it is 100% compatible with Nginx.
* Input body filter support. It's quite handy to write Web Application Firewalls by using this mechanism.
* Logging enhancement. Syslog (local and remote), pipe logging and log sampling are supported.
* Protecting server in case system load or memory use goes too high.
* Multiple CSS or JavaScript requests can be combined into one request to reduce downloading time.
* Proactive health checks of upstream servers can be performed.
* The number of worker processes and CPU affinities can be set automatically.
* The limit_req module is enhanced with white list support and more conditions are allowed in a single location.
* Diagnostic information to tell the server where the error happened.
* More user friendly command lines. e.g. showing all compiled-in modules and supported directives.
* Expiration times can be specified for certain MIME types.
* Error pages can be reset to 'default'.
* ...
Mail list
=========
* Chinese: [http://code.taobao.org/mailman/listinfo/tengine-cn](http://code.taobao.org/mailman/listinfo/tengine-cn)
* English: [http://code.taobao.org/mailman/listinfo/tengine](http://code.taobao.org/mailman/listinfo/tengine)
Loading…
Cancel
Save