Nginx 外的另一选择,轻量级开源 Web 服务器 Tengine 发布新版本
2019独角兽企业重金招聘Python工程师标准>>>
新版发布
近日,轻量级开源 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统一接入层的开发及维护。
本文作者:中间件小哥
原文链接
本文为云栖社区原创内容,未经允许不得转载。
转载于:https://my.oschina.net/u/3827390/blog/3035442
Nginx 外的另一选择,轻量级开源 Web 服务器 Tengine 发布新版本相关推荐
- QPS 提升60%,揭秘阿里巴巴轻量级开源 Web 服务器 Tengine 负载均衡算法
前言 在阿里七层流量入口接入层(Application Gateway)场景下, Nginx 官方的Smooth Weighted Round-Robin( SWRR )负载均衡算法已经无法再完美施展 ...
- 可用于企业的 7 个最佳开源 Web 服务器
自从 Tim Berners-Lee 在 1990 年开发 CERN httpd 以来,作为第一个 Web 浏览器的项目,Web 服务器已经走过了很长一段路. 虽然一些主要的网络服务器供应商为企业提供 ...
- 8种最佳开源Web服务器
自1991年发布第一台Web服务器以来,这是一段漫长的历程.长期以来,Apache是唯一值得一提的Web服务器.但是,随着时间的流逝,其他开源Web服务器也越来越受欢迎. 在本指南中,我们将介绍一些最 ...
- 可用于企业的 7 个开源 Web 服务器
自从 Tim Berners-Lee 在 1990 年开发 CERN httpd 以来,作为第一个 Web 浏览器的项目,Web 服务器已经走过了很长一段路. 虽天一些主要的网络服务器供应商为企业提供 ...
- 外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站
外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站 之前在CentOS虚拟机上安装了LAMP,搭建起了自己的web服务器,具体流程见: http://www.lin ...
- 淘宝Web服务器Tengine正式开源
新闻来源:Tengine邮件列表 我们很高兴的宣布由淘宝网核心系统部开发的Tengine服务器终于正式开源了.淘宝网是亚洲最大的电子商务 网站,Alexa全球排名第12位.每天访问淘宝网的PV超过了几 ...
- Windows开源Web服务器性能和压力测试工具
linux有很多开源工具用来测试服务器负载,而windows上非常少,几乎没有除了几个复杂的JMeter WET等 将两个好用的工具是Linux版本通过Cygwin移植过来,方便广大windows人员 ...
- Nginx 市场份额全球第一,10月全球Web服务器调查报告出炉!
近日,Netcraft 发布了 2021 年 10 月份的全球 Web 服务器调查报告. 据悉,Netcraft 是一家总部位于英国巴斯始于 1995 年的互联网服务公司,该公司发布的全球 Web 服 ...
- NGINX发布支持动态配置的开源Web服务器
\ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ NGINX最近发布了NGINX Unit 1.0版.NGINX Unit是一种开源的Web和 ...
最新文章
- matplotlib01-plot折线图、scatter散点图
- 图表插件Highcharts的动态化赋值,实现图表数据的动态化设置显示
- 小红书笔记_小红书的沙雕笔记,害人不浅啊
- 使用Jenkins在Azure Web App上进行ASP.NET Core应用程序的持续集成和部署(CI/CD)–第4天
- html5 上海,【上海校区】HTML5新特性
- 深入理解Javascript中构造函数和原型对象的区别
- 如何用C#写一个简单的Login窗口
- Win7系统下解决VB6.0鼠标滚轮支持
- linux 内存性能评估,linux的内存性能评估
- instant java,关于java:Format Instant to String
- Python初级入门精讲-王大鹏-专题视频课程
- Python—网络编程_Mail
- 全球及中国HSK筒夹行业运营能力与投资状况分析报告2022版
- 2.3 zio入门——一些常见的zio操作符
- 青蛙的约会(ojld)
- rep()函数的使用
- css3中var函数
- Motivated Word (2)
- buuctf - crypto - Rabbit
- LeetCode 0883「三维形体投影面积」
热门文章
- 为什么科技互联网公司越来越重视数学?贾扬清等大牛如是说
- SAP QM 主检验特性主数据关键字段解释
- 滴滴自动驾驶获得江苏省苏州公安局颁发的路测牌照
- CNN已老,GNN来了:重磅论文讲述深度学习的因果推理
- 学术干货:看清华教授如何将深度学习引入音频信号处理
- SAP 没有激活HUM功能照常可以使用Handling Unit
- 《数学之美》第20章 不要把鸡蛋都放到一个篮子里--谈谈最大熵模型
- 深入理解网络最大流和Ford-Fulkson算法
- 训练数据集如何划分验证测试集?train/test(val/dev) set和交叉验证(cross validation)
- Nature突破:首个比头发丝还细的机器人诞生了!可用针头注射入人体