Apache Traffic Server 4.2.1/5.3.2上的坑!
問題一:
現(xiàn)象描述:
昨天在CentOS 6.3 64位虛機(jī)上成功安裝ATS 4.2.1上無法正常啟動(dòng)?但是安裝一切正常。使用trafficserver start啟動(dòng)后,最后顯示啟動(dòng)失敗,沒有任何錯(cuò)誤日志或是錯(cuò)誤提示信息。經(jīng)過研究trafficserver這個(gè)腳本,也沒有發(fā)現(xiàn)問題。
解決方法:
今天被老大解決了,原來是我們公司內(nèi)部的那臺服務(wù)器上沒有開啟syslog服務(wù),導(dǎo)致錯(cuò)誤日志無法打印。traffic_cop 依賴 syslog 服務(wù)。要先啟動(dòng)
service rsyslog start
補(bǔ)記:
今天在ATS文檔官網(wǎng)地址
http://trafficserver.readthedocs.org/en/latest/admin/working-log-files.en.html#understanding-traffic-server-log-files
了解到,ATS通常會(huì)記錄三種類型的日志,訪問日志,錯(cuò)誤日志和系統(tǒng)日志。系統(tǒng)日志使用syslog守護(hù)進(jìn)程記錄的,以CentOS為例,該守護(hù)進(jìn)程為rsyslog,它會(huì)在/etc/rsyslog.conf配置文件中指定日志文件為/var/log/messages,所有的日志都會(huì)記錄在/var/log/messages文件中。
問題二:
在Ubuntu 14.04上安裝ATS 4.2.1,發(fā)現(xiàn)如下錯(cuò)誤
> libhwloc not linked properly on ubuntu 13.10: > /usr/bin/ld: ../lib/ts/.libs/libtsutil.so: undefined reference to symbol 'hwloc_get_type_depth' > /usr/lib/x86_64-linux-gnu/libhwloc.so: error adding symbols: DSO missing from command line解決方法:
暫無
問題三:
插件中使用TSUrlHostGet和TSMimeHdrFieldFind(bufp, hdr_loc, TS_MIME_FIELD_HOST, TS_MIME_LEN_HOST);獲取url的host時(shí),會(huì)有差異,前者個(gè)別域名獲取不出來,后者可以正常獲取。前者獲取不出來的域名比如有
http://a.autoimg.cn/s?lp=10191&_v_TypeId=2353&_v_ad_ProvinceAreaID=-1&_v_ad_BBS_AreaName=-1&_v_brandID=8&_v_areaPropertyProvince=0&_v_ad_BuyStageID=&_v_ad_PriceIntervalID=&_v_ad_LevelID=&_v_ad_UserT%20ypeID=&_v_ad_PriceDirectionalID=-1&_v_ad_UserBrandID=&_a_ad_CarlevelID=15&_v_ad_BigBrandID=&area=211099
下面的Authproxy/Utils代碼截圖很清楚地給出了正確獲取host的通常步驟,首先從MIME field獲取,如果沒有,就使用url中的:
大家在使用上述API開發(fā)插件時(shí)一定要注意。
問題四:
接口TSMimeHdrFieldValueAppend在ats 5.3.2上面的使用問題。
在replace-header插件中用到TSMimeHdrFieldValueAppend接口來修改或創(chuàng)建一個(gè)mimi field,在設(shè)置它的值時(shí),需要設(shè)置一個(gè)index值,我發(fā)現(xiàn)該插件代碼使用的是-1,這會(huì)造成assert失敗導(dǎo)致ats崩掉,應(yīng)該設(shè)置為0就沒有問題。
總結(jié)
以上是生活随笔為你收集整理的Apache Traffic Server 4.2.1/5.3.2上的坑!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用希捷DiscWizard格式化3TB
- 下一篇: Ubuntu 14.04 64位安装深度