Tengine是淘寶在Nginx基礎上開發的一個衍生版。官方的簡介說針對大訪問量網站的需求,添加了不少高級功能和特性。Tengine的性能和穩定性已經在大型的網站如淘寶網,天貓商城等獲得了很好的檢驗。它的最終目標是打造一個高效、穩定、安全、易用的Web平臺。html
Tengine官網:http://tengine.taobao.org/linux
Tengine特性nginx
- 繼承Nginx-1.2.9的全部特性,100%兼容Nginx的配置;
- 動態模塊加載(DSO)支持。加入一個模塊再也不須要從新編譯整個Tengine;
- 流式上傳到HTTP後端服務器或FastCGI服務器,大量減小機器的I/O壓力;
- 更增強大的負載均衡能力,包括一致性hash模塊、會話保持模塊,還能夠對後端的服務器進行主動健康檢查,根據服務器狀態自動上線下線;
- 輸入過濾器機制支持。經過使用這種機制Web應用防火牆的編寫更爲方便;
- 動態腳本語言Lua支持。擴展功能很是高效簡單;
- 支持管道(pipe)和syslog(本地和遠端)形式的日誌以及日誌抽樣;
- 組合多個CSS、JavaScript文件的訪問請求變成一個請求;
- 自動去除空白字符和註釋從而減少頁面的體積
- 自動根據CPU數目設置進程個數和綁定CPU親緣性;
- 監控系統的負載和資源佔用從而對系統進行保護;
- 顯示對運維人員更友好的出錯信息,便於定位出錯機器;
- 更強大的防攻擊(訪問速度限制)模塊;
- 更方便的命令行參數,如列出編譯的模塊列表、支持的指令等;
- 能夠根據訪問文件類型設置過時時間;
Tengine已經加到《lnmp最新源碼一鍵安裝包》git
pcre安裝github
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