问题一:
现象描述:
昨天在CentOS 6.3 64位虚机上成功安装ATS 4.2.1上无法正常启动?但是安装一切正常。使用trafficserver start启动后,最后显示启动失败,没有任何错误日志或是错误提示信息。经过研究trafficserver这个脚本,也没有发现问题。
解决方法:
今天被老大解决了,原来是我们公司内部的那台服务器上没有开启syslog服务,导致错误日志无法打印。traffic_cop 依赖 syslog 服务。要先启动
service rsyslog start
补记:
今天在ATS文档官网地址
http://trafficserver.readthedocs.org/en/latest/admin/working-log-files.en.html#understanding-traffic-server-log-files
了解到,ATS通常会记录三种类型的日志,访问日志,错误日志和系统日志。系统日志使用syslog守护进程记录的,以CentOS为例,该守护进程为rsyslog,它会在/etc/rsyslog.conf配置文件中指定日志文件为/var/log/messages,所有的日志都会记录在/var/log/messages文件中。
问题二:
在Ubuntu 14.04上安装ATS 4.2.1,发现如下错误
> 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时,会有差异,前者个别域名获取不出来,后者可以正常获取。前者获取不出来的域名比如有
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开发插件时一定要注意。