Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tengine-2.3.0 (development version) has been released! #1220

Closed
wangfakang opened this issue Mar 25, 2019 · 7 comments
Closed

Tengine-2.3.0 (development version) has been released! #1220

wangfakang opened this issue Mar 25, 2019 · 7 comments
Labels
release discussion of new release
Milestone

Comments

@wangfakang
Copy link
Collaborator

wangfakang commented Mar 25, 2019

Tengine-2.3.0(开发)版本发布了!

新增如下新特性

  • 新模块ngx_http_proxy_connect_module,支持HTTP的CONNECT方法,可用于正向代理场景;

  • http2 server粒度控制 新增http2指令,可针对listen相同端口的server进行个性化开启与关闭http2;

  • Stream模块支持server_name 指令,即同一个端口可以配置多个虚拟server配置块;

  • 加强limit_req模块功能,limit_req_zone的rate参数支持变量模式配置,可以基于请求粒度动态设置限速大小;

注意

本次Tengine升级core代码到官方Nginx 1.15.9版本,由于其部分功能Nginx官方当前已经具备、所以本次直接弃用Tengine自身实现的部分配置指令,具体不兼容列表如下:

  1. 废弃Tengine自身实现的reuse_port指令,使用Nginx官方的reuseport。升级方法:将events配置块里面的reuse_port on|off注释掉,在对应的监听端口后面加reuseport参数、详细参考文档
  2. 废弃Tengine的dso_tool工具以及dso配置指令,若之前有使用Tengine的dso功能、则可以切换到Nginx官方的load_module指令,详细文档参考1参考2
  3. 移除Tengine加强版slice模块到modules、默认使用Nginx官方slice功能,如果依然需要使用Tengine的slice则编译slice时请使用 --add-module=modules/ngx_http_slice_module,否则使用 --with-http_slice_module 编译参数;
  4. Tengine自身实现的模块,当前全部剥离到modules目录下,如果需要使用那个模块、则使用--add-module=modules/<module_name>的方式进行编译;
  5. limit_req的请求计数逻辑和官方保持一致,去除limit_req_zone中任何一个变量值为空跳过请求计数的逻辑;

We are very excited to announce that Tengine-2.3.0 (development version) has
been released!

Some features are as follows

  • New module ngx_http_proxy_connect_module, it supports the CONNECT HTTP method for forward proxy.

  • http2 switch adds http2 directive to enable or disable http2 in the server block.

  • Support server_name in Stream modlue, now multiple virtual server blocks could be configured on the same port.

  • Enhanced limit_req_zone rate=$<nginx_variable> parameter of limit_req module, you can set the limit rate per a request.

WARNING

Tengine has been upgraded core files from the Nginx 1.15.9 version. Note that this version is slightly not backwards compatible, some tengine features has been replaced by nginx offical, check the following list:

  1. Removed Tengine reuse_port directive in event {} block, use listen .. reuseport; directive instead.
  2. Removed Tengine DSO feature, use nginx dynamic modules feature instead.
  3. Deprecated Tengine slice module, --with-http_slice_module configure option now works for nginx slice module. Use --add-module=modules/ngx_http_slice_module for original tengine slice module.
  4. Put all Tengine's modules to the modules directory. Use --add-module=modules/<tengine_module_name> to compile.
  5. Changed Tengine reqstatus feature. The request counting logic for limit_req is consistent with the Nginx official. Now requests with all empty variable in limit_req_zone are not accounted. Original tengine does not account requests with any empty variable.
@bukebuhao
Copy link

bukebuhao commented Mar 26, 2019

kit-0.3.0/objs -I objs/addon/ndk -I /usr/local/luajit/include/luajit-2.0
-o objs/addon/src/ngx_http_tfs.o
/usr/local/src/nginx-tfs-master/src/ngx_http_tfs.c
/usr/local/src/nginx-tfs-master/src/ngx_http_tfs.c: In function ‘ngx_http_tfs_process_upstream_request’:
/usr/local/src/nginx-tfs-master/src/ngx_http_tfs.c:874: error: too few arguments to function ‘c->recv_chain’
make[1]: *** [objs/addon/src/ngx_http_tfs.o] Error 1
make[1]: Leaving directory `/usr/local/src/tengine-2.3.0'
make: *** [build] Error 2

添加TFS模块编译报错
最新版需要源码编译,官方编译不成功,利用非官方https://github.com/hltj/nginx-tfs就可了。详细如https://github.com/alibaba/nginx-tfs/issues/22

@chobits
Copy link
Member

chobits commented Mar 26, 2019

hi @bukebuhao

Try TFS module in tengine/modules/ngx_http_tfs_module via --add-module=modules/ngx_http_tfs_module configuration option.

@chobits
Copy link
Member

chobits commented Mar 26, 2019

HTTP/2.0 server tag fix: #1221

@bukebuhao
Copy link

Thanks !

@bukebuhao
Copy link

新特性,中文的链接都是同一个,英文是正确的。
如 加强limit_req模块功能,limit_req_zone的rate参数支持变量模式配置,可以基于请求粒度动态设置限速大小;

@heidsoft
Copy link

heidsoft commented Jun 14, 2019

tengine-2.3.0 build error

环境内核3.10.0-957.el7.x86_64
gcc 版本 4.8.5 20150623
操作系统:centos7

编译参数

./configure --add-module=modules/ngx_backtrace_module --add-module=modules/ngx_debug_pool --add-module=modules/ngx_debug_timer --add-module=modules/ngx_http_concat_module --add-module=modules/ngx_http_footer_filter_module --add-module=modules/ngx_http_lua_module --add-module=modules/ngx_http_proxy_connect_module --add-module=modules/ngx_http_reqstat_module --add-module=modules/ngx_http_slice_module --add-module=modules/ngx_http_sysguard_module --add-module=modules/ngx_http_tfs_module --add-module=modules/ngx_http_trim_filter_module --add-module=modules/ngx_http_upstream_check_module --add-module=modules/ngx_http_upstream_consistent_hash_module --add-module=modules/ngx_http_upstream_dynamic_module --add-module=modules/ngx_http_upstream_dyups_module --add-module=modules/ngx_http_upstream_keepalive_module --add-module=modules/ngx_http_upstream_session_sticky_module --add-module=modules/ngx_http_user_agent_module --add-module=modules/ngx_slab_stat --without-http_upstream_keepalive_module --with-luajit-inc=/usr/include/luajit-2.0

报错日志

modules/ngx_http_tfs_module/ngx_http_tfs_rc_server_info.c: 在函数‘ngx_http_tfs_dump_rc_info’中:
modules/ngx_http_tfs_module/ngx_http_tfs_rc_server_info.c:330:41: 错误:变量‘physical_clusters’被设定但未被使用 [-Werror=unused-but-set-variable]
     ngx_http_tfs_physical_cluster_t    *physical_clusters;
                                         ^
modules/ngx_http_tfs_module/ngx_http_tfs_rc_server_info.c:328:41: 错误:变量‘group_info’被设定但未被使用 [-Werror=unused-but-set-variable]
     ngx_http_tfs_group_info_t          *group_info;
                                         ^
cc1: all warnings being treated as errors
make[1]: *** [objs/addon/ngx_http_tfs_module/ngx_http_tfs_rc_server_info.o] 错误 1
make[1]: *** 正在等待未完成的任务....
make[1]: 离开目录“/service/software/tengine-2.3.0”
make: *** [build] 错误 2`

@chobits
Copy link
Member

chobits commented Jun 18, 2019

For pre-release 2.3.1, see #1292. Closing this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release discussion of new release
Projects
None yet
Development

No branches or pull requests

4 participants