Tengine是淘宝在Nginx基础上开发的一个衍生版。官方的简介说针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。
Tengine官网:http://tengine.taobao.org/
Tengine特性
- 继承Nginx-1.2.9的所有特性,100%兼容Nginx的配置;
- 动态模块加载(DSO)支持。加入一个模块不再需要重新编译整个Tengine;
- 流式上传到HTTP后端服务器或FastCGI服务器,大量减少机器的I/O压力;
- 更加强大的负载均衡能力,包括一致性hash模块、会话保持模块,还可以对后端的服务器进行主动健康检查,根据服务器状态自动上线下线;
- 输入过滤器机制支持。通过使用这种机制Web应用防火墙的编写更为方便;
- 动态脚本语言Lua支持。扩展功能非常高效简单;
- 支持管道(pipe)和syslog(本地和远端)形式的日志以及日志抽样;
- 组合多个CSS、JavaScript文件的访问请求变成一个请求;
- 自动去除空白字符和注释从而减小页面的体积
- 自动根据CPU数目设置进程个数和绑定CPU亲缘性;
- 监控系统的负载和资源占用从而对系统进行保护;
- 显示对运维人员更友好的出错信息,便于定位出错机器;
- 更强大的防攻击(访问速度限制)模块;
- 更方便的命令行参数,如列出编译的模块列表、支持的指令等;
- 可以根据访问文件类型设置过期时间;
Tengine已经加到《lnmp最新源码一键安装包》
pcre安装
cd lnmp/src
wget http://ftp.cs.stanford.edu/pub/exim/pcre/pcre-8.33.tar.gz tar xzf pcre-8.33.tar.gz cd pcre-8.33 ./configure make && make install cd ../
Tengine安装
wget http://tengine.taobao.org/download/tengine-1.5.1.tar.gz tar xzf tengine-1.5.1.tar.gz cd tengine-1.5.1 #修改下显示的版本号 sed -i 's@TENGINE "/" TENGINE_VERSION@"Tengine/unknown"@' src/core/nginx.h #修改 auto/cc/gcc 文件,禁用编译 debug 能减少编译后的容量 sed -i 's@CFLAGS="$CFLAGS -g"@#CFLAGS="$CFLAGS -g"@' auto/cc/gcc ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --with-http_concat_module=shared --with-http_sysguard_module=shared make && make install
模块文档参考:http://tengine.taobao.org/documentation_cn.html
Tengine下安装ngx_pagespeed
wget https://dl.google.com/dl/page-speed/psol/1.6.29.5.tar.gz wget --no-check-certificate https://github.com/pagespeed/ngx_pagespeed/archive/release-1.6.29.5-beta.zip unzip -q release-1.6.29.5-beta tar xzf 1.6.29.5.tar.gz -C ngx_pagespeed-release-1.6.29.5-beta cd ../ngx_pagespeed-release-1.6.29.5-beta
方式一:
/usr/local/nginx/sbin/dso_tool --add-module=../ngx_pagespeed-release-1.6.29.5-beta
在/usr/local/nginx/modules下会生成ngx_pagespeed.so,dso段load进去
方式二:
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module \ --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module \ --with-http_concat_module=shared --with-http_sysguard_module=shared \ --add-module=../ngx_pagespeed-release-1.6.29.5-beta make && make install