Nginx 外的另一选择,轻量级开源 Web 服务器 Tengine 发布新版本

新版发布
近日,轻量级开源 Web 服务器 Tengine 发布了2.3.0版本,新增如下特性:
ngx_http_proxy_connect_module,该模块让 Tengine 可以用于正向代理场景,支持对 CONNECT 方法请求的处理;
HTTP2 Server粒度控制 新增 HTTP2指令,可针对 listen 相同端口的 server 进行个性化开启与关闭 HTTP2;
Stream模块支持 server_name 指令,可在 SSL 场景下,基于 SNI 识别出域名,让四层SSL 转发支持特定的 server 块配置;
加强limit_req 模块功能,可以基于请求粒度动态设置限速大小,更多详细变更日志请参考limit_req 变更日志;
注意事项
需要注意的是,本次 Tengine 升级 core 代码至 Nginx 官方的1.15.9版本(2019年2月26日发布),由于 Tengine 的部分功能 Nginx 官方已经实现,所以 Tengine 2.3.0 弃用了自身实现的部分配置指令,由此带来的不兼容性,列举如下:
- 废弃 Tengine 自身实现的 reuse_port 指令,使用 Nginx官方 的reuseport。
升级方法:将events 配置块里面的 reuse_port on|off 注释掉,在对应的监听端口后面加 reuseport 参数,详细的操作文档,请参考limit_req 变更日志 。
- 废弃 Tengine 的 dso_tool 工具以及 dso 配置指令。
若之前有使用 Tengine 的 dso 功能,则可以切换到 Nginx官方 的 load_module 指令,详细操作文档,请参考Nginx 官方文档1和Nginx 官方文档2。
- 移除 Tengine 加强版 slice 模块到 modules,默认使用 Nginx 官方的 slice 功能。
如果依然需要使用 Tengine 的 slice,那么编译slice时请使用--add-module=modules/ngx_http_slice_module,否则使用 --with-http_slice_module 编译参数;
- Tengine 自身实现的模块,已全部剥离到 modules 目录下。
如果需要使用那个模块,请使用 --add-module=modules/ 的方式进行编译。
- limit_req 的请求计数逻辑和官方保持一致,去除 limit_req_zone 中任何一个变量值为空,跳过请求计数的逻辑。
关于 Tengine
Tengine 是基于 Nginx 开发的轻量级开源 Web 服务器,作为阿里巴巴七层流量入口的核心系统,支撑着阿里巴巴双11等大促活动的平稳度过,并提供了智能的流量转发策略、HTTPS 加速、安全防攻击、链路追踪等众多高级特性,同时秉着软硬件结合的的性能优化思路,在高性能、高并发方面取得了重大突破。
自开源以来,Tengine 已获得来自67位 contributors 的1390个 commits,他们分别来自淘宝、搜狗,美团、Nginx 等企业。
据不完全统计,目前已有 200多家企业在通过 Tengine 来实现 Web 服务、负载均衡、代理服务、防攻击和访问限制等功能,包括傲世堂、小米网、聚美优品、河狸家、旺旺集团、杭州思华、中国博客联盟、SuperID、联想网盘、华兴资本、猿题库、蓝奏网盘、HoukeYun、云智慧等。
目前,Tengine 正通过 Ingress Controller 和 K8s 打通,这让 Tengine 具备了动态感知某个服务整个生命周期的能力。未来,Tengine 将定期开源内部通用组件功能模块,并同步 Nginx 官方的最新代码,丰富开发者们的开源 Web 服务器选项。
本文作者:王发康(花名:毅松) GitHub ID @wangfakang ,Tengine 开源项目 maintainer,阿里巴巴技术专家,负责阿里巴巴WEB统一接入层的开发及维护。
本文作者:中间件小哥
本文为云栖社区原创内容,未经允许不得转载。
Nginx 外的另一选择,轻量级开源 Web 服务器 Tengine 发布新版本的更多相关文章
- QPS 提升60%,揭秘阿里巴巴轻量级开源 Web 服务器 Tengine 负载均衡算法
前言 在阿里七层流量入口接入层(Application Gateway)场景下, Nginx 官方的Smooth Weighted Round-Robin( SWRR )负载均衡算法已经无法再完美施展 ...
- 淘宝开源Web服务器Tengine安装教程
简介Tengine是由淘宝核心系统部基于Nginx开发的Web服务器,它在Nginx的基础上,针对大访问量网站的需求,添加了很多功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,淘宝商 ...
- 淘宝开源Web服务器Tengine基本安装步骤
Tengine 是由淘宝核心系统部基于Nginx开发的Web服务器,它在Nginx的基础上,针对大访问量 网站的需求,添加了很多功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,淘宝商 ...
- 3.6 万颗星!开源 Web 服务器后起之秀,自带免费 HTTPS 开箱即用
众所周知,Web 服务器是 Web 开发中不可或缺的基础服务,在开发中经常会用到.耳熟能详的开源 Web 服务器有久负盛名的 Apache.性能强劲的 Nginx.而我们今天要介绍的开源项目是采用 G ...
- 外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- HttpServer: 基于IOCP模型且集成Openssl的轻量级高性能web服务器
2021年4月写过一个轻量级的web服务器HttpServer,见文章: <HttpServer:一款Windows平台下基于IOCP模型的高并发轻量级web服务器>,但一直没有时间添加O ...
- 外网主机访问虚拟机下的web服务器(NAT端口转发)
主机:系统win7,ip地址172.18.186.210 虚拟机:VMware Workstation 7,虚拟机下安装了Centos操作系统,ip地址是192.168.202.128,部署了LAMP ...
- 外网主机访问虚拟机下的web服务器(NAT端口转发)-----端口映射
主机:系统win7,ip地址172.18.186.210 虚拟机:VMware Workstation 7,虚拟机下安装了Centos操作系统,ip地址是192.168.202.128,部署了LAMP ...
- Windows开源Web服务器性能和压力测试工具
linux有很多开源工具用来测试服务器负载,而windows上非常少,几乎没有除了几个复杂的JMeter WET等 将两个好用的工具是Linux版本通过Cygwin移植过来,方便广大windows人员 ...
随机推荐
- 软件-SecureCRT:SecureCRT
ylbtech-软件-SecureCRT:SecureCRT SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件 ...
- com.microsoft.sqlserver.jdbc.SQLServerException: 将截断字符串或二进制数据。
遇到这个错误 数据库表结构定义为:varchar(50) 实际插入数据的字符长度超过了50,会引发这种错误. 如果你是debug调试的. 或许你在 getSession().flush(); 上报 ...
- Python学习之for循环--输出1-100中的偶数和登录身份认证
输出1-100中的偶数 效果图: 实现代码: for i in range(2,101,2): print(i,end = '\t') if(i == 34): print('\n') if (i = ...
- Hibernate-概述-搭建-测试-配置详解
一 hibernate概述 1.1 框架是什么 1.框架是用来提高开发效率的 2.封装了好了一些功能.我们需要使用这些功能时,调用即可.不需要再手动实现. 3.所以框架可以理解成是一个半成品的项目.只 ...
- Simple implementation and results of genetic algorithm.
This experiment was done for the final assignment of my Professional English class. This part has be ...
- Django之ORM多表操作
1.创建一对多: 1.外键建在多的一方(如:一个出版社可出版多本书,所以建在书的表) 2.创建表: 1.创建外键 2.关联的表名 2.一对多数据的操作 2.1数据的添加: 第一种方法: 第二种方法: ...
- 解决ios移动端双击页面下移
ios移动端在双击弹出层的时候会出现页面下移,露出底层页面的现象 解决办法: <!DOCTYPE html> <html> <head> <meta char ...
- CSS3实现3D地球自转行星公转
截图效果:实际效果是动态的:地球自西向东自转,行星绕着地球公转,轨道也会转动 HTML页面代码: <!DOCTYPE html> <html lang="en"& ...
- Mysql 遇到的一些坑
1.命令行按回车,或是输入\c,quit 都无法结束编辑状态,如图: 出现了"> ,然后不管输入什么都无法退出,这时输入>前的字符作为结束字符,再输入\c,既需要输入 " ...
- angular 项目迭代+记录采坑
年中的时候 正在做的项目来了新的领导 给我们的NG4项目来了一次大整顿. 我们公司项目基本都是敏捷开发--> 开发出一个成熟的shared目录(里面有所有的公用组件 公用服务 公用工具类) 然后 ...