简介
Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。
特性
- 继承Nginx-1.6.2的所有特性,兼容Nginx的配置;
- 动态模块加载(DSO)支持。加入一个模块不再需要重新编译整个Tengine;
- 支持SO_REUSEPORT选项,建连性能提升为官方nginx的三倍;
- 同时支持HTTP v2协议和SPDY v3协议,可同时使用两种协议;
- 流式上传到HTTP后端服务器或FastCGI服务器,大量减少机器的I/O压力;
- 更加强大的负载均衡能力,包括一致性hash模块、会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线,以及动态解析upstream中出现的域名;
- 输入过滤器机制支持。通过使用这种机制Web应用防火墙的编写更为方便;
- 支持设置proxy、memcached、fastcgi、scgi、uwsgi在后端失败时的重试次数
- 动态脚本语言Lua支持。扩展功能非常高效简单;
- 支持管道(pipe)和syslog(本地和远端)形式的日志以及日志抽样;
- 支持按指定关键字(域名,url等)收集Tengine运行状态;
- 组合多个CSS、JavaScript文件的访问请求变成一个请求;
- 自动去除空白字符和注释从而减小页面的体积
- 自动根据CPU数目设置进程个数和绑定CPU亲缘性;
- 监控系统的负载和资源占用从而对系统进行保护;
- 显示对运维人员更友好的出错信息,便于定位出错机器;
- 更强大的防攻击(访问速度限制)模块;
- 更方便的命令行参数,如列出编译的模块列表、支持的指令等;
- 可以根据访问文件类型设置过期时间;
- ……
安装部署
安装依赖包
yum install gcc g++ make
cd /usr/local/src
wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.tar.gz
wget http://zlib.net/zlib-1.2.8.tar.gz
wget http://www.openssl.org/source/openssl-1.0.2g.tar.gz
wget http://www.canonware.com/download/jemalloc/jemalloc-3.6.0.tar.bz2
wget http://tengine.taobao.org/download/tengine-2.1.2.tar.gz
第四步:安装Pcre
tar zxvf pcre-8.38.tar.gz
cd pcre-8.38
./configure --prefix=/usr/local/pcre-8.38
make && make install
如果报错:configure: error: You need a C++ compiler for C++ support.
执行安装:yum install -y gcc gcc-c++
第五步:安装Zlib
cd ..
tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local/zlib-1.2.8
make && make install
第六步:安装OpenSSl
cd ..
tar zxvf openssl-1.0.2g.tar.gz
cd openssl-1.0.2g
./config --prefix=/usr/local/openssl-1.0.2g
make && make install
第七步:解压jemalloc不需要安装
cd .. && tar jxvf jemalloc-3.6.0.tar.bz2
第八步:安装Tengine
cd ..
tar zxvf tengine-2.1.2.tar.gz
cd tengine-2.1.2
./configure --prefix=/usr/local/nginx
--with-pcre=/usr/local/src/pcre-8.38
--with-zlib=/usr/local/src/zlib-1.2.8
--with-openssl=/usr/local/src/openssl-1.0.2g
--with-jemalloc=/usr/local/src/jemalloc-3.6.0
--with-http_gzip_static_module
--with-http_realip_module
--with-http_stub_status_module
--with-http_gzip_static_module
--with-http_concat_module
make && make install
查看版本
/usr/local/nginx/sbin/nginx -v
第九步:启动tengine
安装完以后,使用如下命令启动tengine
/usr/local/nginx/sbin/nginx
模块展示图: