在CentOS 6.3 64bit上安裝ATS 5.3 LTS版本並測試

來源:互聯網
上載者:User
由於ATS 5.3是社區剛推出的LTS最新版本,比以前的版本改動幅度相當大,所以我決定拋棄以前的經驗,從零開始探索該版本。下面是我的摸索實錄。

1.下載源碼
cd /usr/local/src
wget -d "http://mirror.bit.edu.cn/apache/trafficserver/trafficserver-5.3.0.tar.bz2"
tar jxvf trafficserver-5.3.0.tar.bz2
cd trafficserver-5.3.0
進入源碼目錄,閱讀README檔案,擷取在CentOS 6.3上面的安裝指導,似乎看到的新東西不多,還是從官網安裝指導開始
https://cwiki.apache.org/confluence/display/TS/CentOS

2.安裝依賴包
yum -y install git gcc gcc-c++ autoconf automake libtool pkgconfig pcre-devel tcl-devel expat-devel openssl-devel
yum -y install perl-ExtUtils-MakeMaker
yum -y install libcap libcap-devel hwloc hwloc-devel
yum -y install libunwind libunwind-devel

3.確保系統日誌開啟
使用下面的命令
service rsyslog status
查看系統日誌有沒有開啟,沒有就開啟,以避免下面啟動ATS出錯時沒有任何日誌資訊。


建立ATS啟動並執行使用者名稱和組名
這一步非常關鍵,關係到後面make install步驟的順利性,故拿到前面來做。
建立使用者
useradd -s /sbin/nologin tserver
我們打算將tserver作為ATS所在的user和group名稱。使用如下命令檢測使用者組是否建立成功

cat /etc/passwd |cut -f 1 -d : | grep tserver



4.編譯安裝
首先使用./configure -h來查看支援
./configure --prefix=/opt/ats --with-user=tserver --with-group=tserver --enable-reclaimable-freelist --enable-debug --enable-experimental-plugins  內網測試不加--enable-interim-cache 
make -j 4
make install -j 4

5.配置
主要有這幾個檔案需要配置:
records.config,storage.config,logs_xml.config

我要達到的效果是正反向 Proxy,自訂磁碟,自訂日誌等功能。注意records.config檔案有很大的精簡。

因為是公司內網虛擬機器,配置較差,這裡不對磁碟和緩衝相關選項做配置了。 #records.config
CONFIG proxy.config.http.server_ports STRING 8081      #跟線上保持一致
traffic_line -s proxy.config.reverse_proxy.enabled -v 0
traffic_line -s proxy.config.url_remap.remap_required -v 0       #1為只反向 Proxy,0為正向+反向 Proxy
traffic_line -s proxy.config.url_remap.pristine_host_hdr -v 0

traffic_line -s  proxy.config.http.insert_request_via_str -v 1    
traffic_line -s  proxy.config.http.insert_response_via_str -v 2   #會產生類似Via:http/1.1 localhost (ApacheTrafficServer/4.2.3 [cHs f ])的頭
traffic_line -s proxy.config.http.cache.required_headers -v 0     #配置在原始伺服器沒有定義緩衝的情況快取檔案
traffic_line -s proxy.config.http.cache.enable_default_vary_headers -v 1
traffic_line -s proxy.config.cache.ram_cache_cutoff -v 40960      #非常關鍵,確定快取命中是在RAM cache還是SSD中

CONFIG proxy.config.log.custom_logs_enabled INT 1
CONFIG proxy.config.log.squid_log_enabled INT 0
CONFIG proxy.config.log.xml_config_file STRING logs_xml.config

#logs_xml.config
<LogFormat>
  <Name = "access"/>
  <Format = "%<cqtq> %<ttms> %<pssc> %<sssc> [%<cqtt>] %<{X-Forwarded-For}cqh> \"%<cqtx>\" %<psql> \"%<pqsi>\" %<crc>:%<phr> %<{Referer}cqh> \"%<{User-Agent}cqh>\" %<psct>"/>
</LogFormat>
<LogObject>
  <Format = "access"/>
  <Filename = "access"/>
</LogObject>

6.添加環境變數和設定別名
echo "export PATH=/opt/ats/bin:$PATH" >> /etc/profile
更新設定檔
source /etc/profile
再次確認環境變數是否添加成功
echo $PATH

這樣的話,在命令列直接運行trafficserver start就可以識別了。

vim ~/.bashrc

在尾部加入

alias ats_db='cd /opt/ats/var/trafficserver;pwd'alias ats_log='cd /opt/ats/var/log/trafficserver;pwd'alias ats_conf='cd /opt/ats/etc/trafficserver;pwd'alias ats_lib='cd /opt/ats/libexec/trafficserver;pwd'alias ats_bin='cd /opt/ats/bin;pwd'alias ats_stat='ps auxf | grep traffic | grep -v grep'alias ats_ports='netstat -nltp | grep traffic | grep -v grep'

使檔案生效
source ~/.bashrc


7.啟動測試
trafficserver start
當啟動OK後,使用下面的命令查看進程啟動情況,多試幾次,觀察traffic_server進程pid是否有變動,如果有變動就說明啟動過程有問題,需要排查詳細問題

ps auxf | grep traffic | grep -v grep


下面使用curl來進行簡單的測試
curl -o /dev/null -vx 127.0.0.1:8081  -H "Accept-Encoding: gzip,deflate,sdch" "http://news.sohu.com"
觀察是否擷取成功,如果擷取成功,連續執行3次同一個請求,觀察緩衝狀態的變化情況,是否是下面的狀態代碼改變?

[cMsSfW] ==> [cHs f ] ==> [cRs f ] ==> ...



然後觀察訪問日誌中是否有3條相應的訪問記錄


再次觀察下面的幾個記錄檔


manager.log 專門負責監控traffic_server進程的運行情況,有異常情況時會重啟traffic_server進程
diags.config 專門記錄系統診斷記錄,比如緩衝索引檔案,hostdb檔案,清除磁碟情況,緩衝是否可用等

traffic.out 專門記錄控制台相關的日誌資訊,比如使用的root目錄,發現比原來版本輸入日誌資訊減少了





8.命令列工具探究

現在沒有traffic_shell工具,但是增加了traffic_ctl,traffic_crashlog,traffic_via,traffic_layout等工具


這裡特別提到另一個極其有用的工具traffic_crashlog,它隨同trafficserver中的那三個進程一起啟動,



時刻監視是否有traffic_server進程崩潰,如果出現崩潰現象,
就會在自動重啟traffic_server進程的同時,列印相關的段錯誤資訊,主要內容包括CPU,訊號,各線程呼叫堆疊,records.config中的配置資訊等等。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.