淘宝 Web 服务器 Tengine 正式开源

简介: 我们很高兴的宣布由淘宝网核心系统部开发的Tengine服务器终于正式开源了。 淘宝网是亚洲最大的电子商务 网站,Alexa全球排名第12位。每天访问淘宝网的PV超过了几十亿。大压力的访问,对淘宝网的Web服务器提出了严苛的要求。

我们很高兴的宣布由淘宝网核心系统部开发的Tengine服务器终于正式开源了。

淘宝网是亚洲最大的电子商务 网站,Alexa全球排名第12位。每天访问淘宝网的PV超过了几十亿。大压力的访问,对淘宝网的Web服务器提出了严苛的要求。经过一系列的对比,我们最终选择了Nginx作为我们的Web服务器,因为它性能高,又非常节省资源(CPU和内存),并且有足够的灵活性。

一开始我们使用Nginx还仅仅用它来处理静态文件、PHP等,接着我们又在Nginx上开发了几十个各种用途的模块。随着对Nginx的 越来越了解,我们发现它本身已经不能够完全满足我们的需求了,所以我们就开始对Nginx核心进行定制和开发。考虑到我们开发的功能中的一些对其它的互联 网用户也可能有用处,所以我们就想到了把这些公用的功能开源出来。淘宝网是开源软件的用户和受益者,我们也想成为开源软件的贡献者。这就是我们决定开源 Tengine的原因。

Tengine基于最新的Nginx稳定版(Nginx-1.0.10),在它的基础上开发了一些功能和做了一些bug修复,比如:

  • 组合多个CSS、JavaScript文件的访问请求变成一个请求;
  • 支持管道和syslog形式的日志和抽样;
  • 自动根据CPU数目设置亲缘性;
  • 监控系统的负载和资源占用从而对系统进行保护;
  • 显示对运维人员更友好的出错信息,便于定位出错机器;
  • 更强大的访问速度限制模块;
  • backtrace模块,程序崩溃的时候可以显示出错的调用栈;
  • 根据文件类型设置过期时间;
  • ...

基本上,Tengine可以被看作一个更好的Nginx,或者是Nginx的超集。可以在这里下载:

http://tengine.taobao.org/download/tengine-1.2.0.tar.gz

在这里,我们想向Nginx团队致谢,尤其感谢Nginx的作者Igor Sysoev的伟大工作。我们也很乐意并在接下来的时间里将我们的工作成果捐献给Nginx官方。

坦率的讲,现在Tengine的特性还不够多,但这是我们将我们在Nginx上的工作推向开源的第一步。我们已经围绕Tengine组建了 一个团队,而且内部还有一个很长的计划列表。Tengine开源不是项目开发的结束,而是开发的开始。相信接下来大家会看到我们在Tengine上的更多 工作进展。

目录
相关文章
|
1月前
|
XML 网络协议 Java
JavaWeb -- HTTP -- WEB服务器TOMCAT
JavaWeb -- HTTP -- WEB服务器TOMCAT
|
1月前
|
JavaScript 前端开发 安全
怎样用Node.js搭建web服务器
本文探讨了如何使用Node.js构建高效的HTTP服务器。首先,介绍了HTTP常见请求方法,如GET、POST、PUT等。接着,展示了如何使用Node.js的`http`模块创建服务器,并根据请求方法进行不同处理,如判断GET和POST请求,以及获取GET请求参数和处理POST请求数据。最后,讨论了服务器代码的模块化管理,包括路由管理和业务逻辑拆分,以提升代码的维护性和扩展性。通过本文,读者可以掌握基础的Node.js服务器开发及模块化设计技巧。
|
7天前
|
弹性计算 数据库 数据安全/隐私保护
阿里云服务器真香宝典之Calibre-Web个人图书馆云端部署
在阿里云ECS(2核2G,SSD40G,3M带宽)上,安装Ubuntu 22.04,然后配置Docker和FTP。创建 `/config` 和 `/books` 目录,设置权限,开放端口,拉取 `johngong/calibre-web` Docker镜像,以`calibre-web`命名容器,映射端口,配置环境变量,挂载卷,确保重启策略。本地安装Calibre客户端,上传metadata.db到服务器。在Calibre-web服务端配置数据库,启用上传权限,修改管理员账户信息。完成配置后,开始上传电子书并进行阅读。
83 2
阿里云服务器真香宝典之Calibre-Web个人图书馆云端部署
|
2天前
|
监控 安全 应用服务中间件
如何搭建高效的Web服务器:技术指南与实践
【7月更文挑战第24天】搭建一个高效的Web服务器需要综合考虑多个方面,包括选择合适的操作系统、安装合适的Web服务器软件、进行配置优化、加强安全防护以及实施性能监控。通过不断地优化和调整,可以确保Web服务器在高负载下仍能保持稳定和高效的运行,为用户提供优质的访问体验。
|
7天前
|
Java Linux 应用服务中间件
Windows和Linux的最佳Web服务器
【7月更文挑战第20天】Windows和Linux的最佳Web服务器
20 3
|
8天前
|
存储 开发框架 安全
如何选择合适的Web服务器?
【7月更文挑战第19天】如何选择合适的Web服务器?
20 2
|
8天前
|
JavaScript Java 应用服务中间件
Web服务器的发展历程?
【7月更文挑战第19天】Web服务器的发展历程?
17 2
|
8天前
|
存储 缓存 监控
Web服务器
【7月更文挑战第19天】Web服务器
15 2
|
1月前
|
JSON API 数据库
Python使用Quart作为web服务器的代码实现
Quart 是一个异步的 Web 框架,它使用 ASGI 接口(Asynchronous Server Gateway Interface)而不是传统的 WSGI(Web Server Gateway Interface)。这使得 Quart 特别适合用于构建需要处理大量并发连接的高性能 Web 应用程序。与 Flask 类似,Quart 也非常灵活,可以轻松地构建 RESTful API、WebSockets、HTTP/2 服务器推送等。
|
13天前
|
网络协议 安全 Python
我们将使用Python的内置库`http.server`来创建一个简单的Web服务器。虽然这个示例相对简单,但我们可以围绕它展开许多讨论,包括HTTP协议、网络编程、异常处理、多线程等。
我们将使用Python的内置库`http.server`来创建一个简单的Web服务器。虽然这个示例相对简单,但我们可以围绕它展开许多讨论,包括HTTP协议、网络编程、异常处理、多线程等。