linux下tengine安裝


1.什么是tengine?

    說到tengine,首先還是得說下nginx了,大家對於nginx並不陌生,對於基本的需求都能滿足,如果是涉及高級性能,那么就必須使用商用版nginx plus了,一談到商用,大家就特別敏感,有沒有開源免費的呢,有的,所以tengine誕生了。

    Tengine(http://tengine.taobao.org/index_cn.html)是由淘寶網發起的Web服務器項目。它在Nginx的基礎上,針對大訪問量網站的需求,添加了很多高級功能和特性。主要特性有

  • 繼承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親緣性;
  • 監控系統的負載和資源占用從而對系統進行保護;
  • 顯示對運維人員更友好的出錯信息,便於定位出錯機器;
  • 更強大的防攻擊(訪問速度限制)模塊;
  • 更方便的命令行參數,如列出編譯的模塊列表、支持的指令等;
  • 可以根據訪問文件類型設置過期時間

2.tengine安裝前准備

    2.1 編譯環境准備

yum -y install net-tools perl gcc gcc-c++ bzip2 autoconf automake

 

    2.2 Tengine用戶和組添加

#創建tengine用戶和組 
groupadd tengine
useradd -g tengine tengine
#設置用戶tengine密碼
passwd tengine

 

    2.3 openssl安裝

        OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序供測試或其它目的使用。安裝OpenSSL(http://www.openssl.org/source/)主要是為了讓tengine支持Https的訪問請求。

#1.安裝openssl-1.0.2.tar.gz 
#在https://www.openssl.org/source/下載openssl-1.0.2.tar.gz
#wget http://www.openssl.org/source/openssl-1.0.2.tar.gz
cd /home/tengine/software 
#解壓安裝文件 
tar -zxvf openssl-1.0.2.tar.gz 
cd openssl-1.0.2
#prefix配置安裝路徑 
./config --prefix=/home/tengine/openssl-1.0.2
make 
make install

 

    2.4 zlib安裝

        Zlib是提供資料壓縮之用的函式庫,當Tengine想啟用GZIP壓縮的時候就需要使用到Zlib(http://www.zlib.net/)。

#1.安裝zlib-1.2.8.tar.gz 
#在https://www.openssl.org/source/下載zlib-1.2.8.tar.gz
#wget http://zlib.net/zlib-1.2.8.tar.gz
cd /home/tengine/software 
#2解壓安裝文件 
tar -zxvf zlib-1.2.8.tar.gz 
cd zlib-1.2.8 
#3prefix配置安裝路徑 
./configure --prefix=/home/tengine/zlib-1.2.8 
make 
make install

 

    2.5 pcre安裝

        PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx rewrite依賴於PCRE庫,所以在安裝Tengine前一定要先安裝PCRE,最新版本的PCRE可在官網(http://www.pcre.org/)獲取。

 
#1.安裝pcre-8.39.tar.gz 
#在ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/下載pcre-8.39.tar.gz 
#wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz

cd /home/tengine/software 
#2解壓安裝文件 
tar -zxvf pcre-8.39.tar.gz
cd pcre-8.39

#3prefix配置安裝路徑 
./configure --prefix=/home/tengine/pcre-8.39
make
make install

 

    2.6 jemalloc安裝

        jemalloc(http://www.canonware.com/jemalloc/)是一個更好的內存管理工具,使用jemalloc可以更好的優化Tengine的內存管理。

#1.安裝jemalloc-4.2.1.tar.bz2 
#在http://www.canonware.com/download/jemalloc/下載jemalloc-4.2.1.tar.bz2 
#wget http://www.canonware.com/download/jemalloc/jemalloc-4.2.1.tar.bz2
cd /home/tengine/software
#2解壓安裝文件 
tar -jxvf jemalloc-4.2.1.tar.bz2
cd jemalloc-4.2.1
#3jemalloc配置安裝路徑 
./configure --prefix=/home/tengine/jemalloc-4.2.1
make
make install

 

3.tengine安裝

#1.安裝tengine-2.1.2.tar.gz
cd /home/tengine/software 
#2.解壓安裝文件 
tar -zxvf tengine-2.1.2.tar.gz 
cd tengine-2.1.2
#3.with-pcre指定依賴包源代碼位置,prefix配置安裝路徑 
./configure --prefix=/home/tengine/tengine-2.1.2 \
--user=tengine \
--group=tengine \
--with-pcre=../pcre-8.39 \
--with-zlib=../zlib-1.2.8 \
--with-openssl=../openssl-1.0.2 \
--with-jemalloc=../jemalloc-4.2.1 \
--with-http_gzip_static_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_concat_module

make 
make install

     注意:with-pcre指定依賴包源代碼位置,prefix配置安裝路徑

               以上操作都是使用root用戶進行編譯

 

4.修改tengine目錄所屬用戶組和權限

chgrp -R tengine /home/tengine/tengine-2.1.2/sbin
chown -R tengine /home/tengine/tengine-2.1.2/sbin
chmod -R 700 /home/tengine/tengine-2.1.2/

 

5.tengine常用命令

    tegine命令其實和之前nginx並無差別,這里簡單列舉幾個,其他命令詳見nginx官網

#1.啟動tengine 
cd /home/tengine/tengine-2.1.2/sbin 
./nginx 
#2.查看端口 
netstat -ntlp 
#3.關閉tengine 
cd /home/tengine/tengine-2.1.2/sbin
./nginx -s stop

 

6.Tengine加入PATH

#編輯/home/tengine/.bashrc,加入Tengine啟動腳本到PATH
vi /home/tengine/.bashrc
export TENGINE_HOME=/home/tengine/tengine-2.1.2
export PATH=$PATH:$TENGINE_HOME/sbin

 

7.Tengine開機自啟動

#創建軟連接
ln -s /home/tengine/tengine-2.1.2/sbin/nginx /etc/init.d/nginx
#賦予執行權限
chmod a+x /etc/init.d/nginx
vi /etc/rc.local
#增加如下內容
/etc/init.d/nginx


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM