【Tengine服务器】Tengine下载(淘宝Web服务器) v2.1.2 官方免费版

软件介绍

知识兔

Tengine服务器是一款由淘宝网发起的Web服务器项目,它是基于Nginx而开发。这款软件在Nginx的基础上添加了很多功能和特性,从而满足一些大访问量网站的需求。而且Tengine官方版还为用户分享了一个高效、稳定、安全、易用的WEB服务平台。

Tengine服务器

Tengine服务器软件简介

知识兔

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

从2011年12月开始,Tengine成为一个开源项目,Tengine团队在积极地开发和维护着它。Tengine团队的核心成员来自于淘宝、搜狗等互联网企业。Tengine是社区合作的成果,我们欢迎大家参与其中,贡献自己的力量。

【Tengine服务器】Tengine下载(淘宝Web服务器) v2.1.2 官方免费版插图1

Tengine服务器软件特色

知识兔

继承Nginx-1.6.2的所有特性,兼容Nginx的配置;

动态模块加载(DSO)支持。加入一个模块不再需要重新编译整个Tengine;

支持SO_REUSEPORT选项,建连性能提升为官方nginx的三倍;

支持SPDY v3协议,自动检测同一端口的SPDY请求和HTTP请求;

流式上传到HTTP后端服务器或FastCGI服务器,大量减少机器的I/O压力;

更加强大的负载均衡能力,包括一致性hash模块、会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线,以及动态解析upstream中出现的域名;

输入过滤器机制支持。通过使用这种机制Web应用防火墙的编写更为方便;

支持设置proxy、memcached、fastcgi、scgi、uwsgi在后端失败时的重试次数

动态脚本语言Lua支持。扩展功能非常高效简单;

支持管道(pipe)和syslog(本地和远端)形式的日志以及日志抽样;

支持按指定关键字(域名,url等)收集Tengine运行状态;

组合多个CSS、JavaScript文件的访问请求变成一个请求;

自动去除空白字符和注释从而减小页面的体积

自动根据CPU数目设置进程个数和绑定CPU亲缘性;

监控系统的负载和资源占用从而对系统进行保护;

显示对运维人员更友好的出错信息,便于定位出错机器;

更强大的防攻击(访问速度限制)模块;

更方便的命令行参数,如列出编译的模块列表、支持的指令等;

可以根据访问文件类型设置过期时间;

软件功能

知识兔

1.GPU backend support with ACL 19.02

最新版本Tengine1.7.1对Mail GPU的支持,无论是在性能还是在硬件支持平台上,均有了质的提升,我们当前支持ACL 19.02版本,对GPU的支持面覆盖到ACL可支持的硬件平台,并且在Tengine本身的异构框架下做到了进一步的性能提升。

基于RK3399的Mail T860 GPU和CPU异构的性能对比(MobilenetSSD)

2.Static tool for convert other models to Tengine

我们分享了基于最新版本的模型转换工具,只需要在x86的Linux环境下既可以进行模型转换,参数简单,操作方便,不依赖任何其他三方库和文件 ,相比之前还需要依赖库有了更方便的操作体验。

模型转换工具支持:caffe,TensorFlow,mxnet,onnx,tf_lite等模型格式的直接转tengine,具体的算子支持情况,请移步Tengine开发者网站:http://www.tengine.org.cn/jishu.php?class_id=102103

3.Tengine graph use origin layout to execute

Tengine支持使用模型原始的layout去执行,不会在执行时转换模型的维度,避免模型格式转换时遇到的一些问题 ,当前Tengine支持两种layout格式NCHW和NHWC 。

安装说明

知识兔

在 ./configure的时候,会发现提示缺少PCRE,这个时候用yum来安装依赖库PCRE

安装PCRE库

yum -y install pcre-devel再一次执行 ./configure的时候,又提示缺少openssl,又需要用yum来安装

安装openssl库

yum -y install openssl openssl-devel安装完PCRE和openssl这二个tengine指定的库之后,执行./configure就不会有什么提示了,但这里要提醒一下大家,默认是安装在usr/local这个目录下面的,如果需要安装在不同的目录,需要用–prefix来指定,这个官方那里有说明。总结:一定要看官方网站的说明,安装tengine之前要安装二个依赖库pcre和openssl

Tengine服务器使用技巧

知识兔

怎么从Nginx切换到Tengine?

从Nginx切换到Tengine主要是因为 concat 模块(合并js、css),以及动态加载模块功能(DSO)。

如果已经用apt-get方式安装了Nginx,可以尝试以下步骤以切换到Tengine(不需要卸载Nginx):

1. 到官方下载你喜欢的Tengine版本,这里以最新版(1.4.0)为例,

1wget http://tengine.taobao.org/download/tengine-1.4.0.tar.gz

2. 解压缩:

1tar -xvzf tengine-1.4.0.tar.gz

3. 进入解压出来的文件夹:

1   cd tengine-1.4.0/

4. 查看当前Nginx的编译参数:

1nginx -V

得到结果如下:

1nginx: nginx version: nginx/1.0.5

2nginx: TLS SNI support enabled

3   nginx: configure arguments: –prefix=/etc/nginx –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –http-client-body-temp-path=/var/lib/nginx/body –http-fastcgi-temp-path=/var/lib/nginx/fastcgi –http-log-path=/var/log/nginx/access.log –http-proxy-temp-path=/var/lib/nginx/proxy –http-scgi-temp-path=/var/lib/nginx/scgi –http-uwsgi-temp-path=/var/lib/nginx/uwsgi –lock-path=/var/lock/nginx.lock –pid-path=/var/run/nginx.pid –with-debug –with-http_addition_module –with-http_dav_module –with-http_geoip_module –with-http_gzip_static_module –with-http_image_filter_module –with-http_realip_module –with-http_stub_status_module –with-http_ssl_module –with-http_sub_module –with-http_xslt_module –with-ipv6 –with-sha1=/usr/include/openssl –with-md5=/usr/include/openssl –with-mail –with-mail_ssl_module –add-module=/build/buildd/nginx-1.0.5/debian/modules/nginx-echo –add-module=/build/buildd/nginx-1.0.5/debian/modules/nginx-upstream-fair

5. 根据上面第三行的配置编译Tengine,具体做法:从–prefix=/etc/nginx开始复制第三行的代码,然后在–with-debug后面加上–with-http_concat_module(意前后需要有空格),并删掉从–add-module开始的代码(否则会编译不过),完整的编译脚本如下:

1./configure –prefix=/etc/nginx –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –http-client-body-temp-path=/var/lib/nginx/body –http-fastcgi-temp-path=/var/lib/nginx/fastcgi –http-log-path=/var/log/nginx/access.log –http-proxy-temp-path=/var/lib/nginx/proxy –http-scgi-temp-path=/var/lib/nginx/scgi –http-uwsgi-temp-path=/var/lib/nginx/uwsgi –lock-path=/var/lock/nginx.lock –pid-path=/var/run/nginx.pid –with-debug –with-http_concat_module –with-http_addition_module –with-http_dav_module –with-http_geoip_module –with-http_gzip_static_module –with-http_image_filter_module –with-http_realip_module –with-http_stub_status_module –with-http_ssl_module –with-http_sub_module –with-http_xslt_module –with-ipv6 –with-sha1=/usr/include/openssl –with-md5=/usr/include/openssl –with-mail –with-mail_ssl_module

如果编译中出现类似下面的错误,说明编译依赖模块不存在,你可以选择安装或者如果你不需要这个模块的话,从上面的编译脚本中删除后再一次执行编译脚本,直到编译完成:

1./configure: error: the HTTP XSLT module requires the libxml2/libxslt

2   libraries. You can either do not enable the module or install the libraries.

这里提示XSLT模块不存在,在上面的编译脚本中搜索xslt,找到了–with-http_xslt_module,删除就可以了,同样注意前后的空格。

成功后提示如下(其中的路径是跟编译脚本有关的,所以可能会略有不同):

01Configuration summary

02  + using system PCRE library

03  + using system OpenSSL library

04  + md5: using OpenSSL library

05  + sha1: using OpenSSL library

06  + using system zlib library

07

08  nginx path prefix: “/etc/nginx”

09  nginx binary file: “/etc/nginx/sbin/nginx”

10  nginx configuration prefix: “/etc/nginx”

11  nginx configuration file: “/etc/nginx/nginx.conf”

12  nginx pid file: “/var/run/nginx.pid”

13  nginx error log file: “/var/log/nginx/error.log”

14  nginx http access log file: “/var/log/nginx/access.log”

15  nginx http client request body temporary files: “/var/lib/nginx/body”

16  nginx dso module path: “/etc/nginx/modules”

17  nginx http proxy temporary files: “/var/lib/nginx/proxy”

18  nginx http fastcgi temporary files: “/var/lib/nginx/fastcgi”

19  nginx http uwsgi temporary files: “/var/lib/nginx/uwsgi”

20     nginx http scgi temporary files: “/var/lib/nginx/scgi”

6. 继续编译(make就可以了,不需要make install):

1make

7. 到objs目录下编译好的nginx文件:

1cd objs/

8. 停止nginx:

1service nginx stop

9. 复制objs目录下的nginx文件到/usr/sbin/nginx目录,覆盖前记得备份原来文件:

1cp /usr/sbin/nginx /usr/sbin/nginx.bak

2   cp nginx /usr/sbin/

9. 测试nginx是否正常(/user/sbin目录):

1nginx -t

如果出现syntax is ok,test is successful表示成功:

1the configuration file /etc/nginx/nginx.conf syntax is ok2configuration file /etc/nginx/nginx.conf test is successful

10. 重新启动nginx

1   service nginx start

访问服务器上一个不存在的页面,查看服务器是否是Tengine

01403 Forbidden02 03You don't have permission to access the URL on this server. Sorry for the inconvenience.04Please report this message and include the following information to us.05Thank you very much!06 07URL:    http://10.20.131.181/doc08Server: ubuntu-bak09Date:   2012/10/06 17:54:5310Powered by Tengine/1.4.0

注意看最后一行:Powered by Tengine/1.4.0 表示我们已经成功从Nginx切换到了Tengine

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看下载!

如何免费获取密码?

点击下载

标签

发表评论