CentOS 5.9 下trafficserver的简单使用

上次说到nginx做cache时,评价过说nginx不是专业的cache软件。趁着最近不是很忙,就把cache这个主题,自己所了解的给讲完,以后自己就专心搞mysql了。今天就来说说trafficserver,目前看是很热的样子,可玩性很强,不过bug也很多,不喜欢折腾的还是不要碰。

一:安装使用

a 安装

解决相关依赖的包:yum install gcc-c++ openssl-devel tcl-devel expat-devel pcre-devel make下载安装:wget http://apache.dataguru.cn/trafficserver/trafficserver-4.1.2.tar.bz2tar -jxvf trafficserver-4.1.2.tar.bz2cd trafficserver-4.1.2./configure  --prefix=/usr/local/trafficserver --with-user=www --with-group=wwwmake && make install

b 配置反向代理

背景:需求是缓存apk软件包:(1) 回源配置vim /usr/local/trafficserver/etc/trafficserver/remap.configmap http://apk.mumayi.com http://120.192.81.162/格式:map 反向代理的域名 源站(2) 缓存配置vim /usr/local/trafficserver/etc/trafficserver/storage.config/cache1 80G /cache2 80G (3)主配置文件vim /usr/local/trafficserver/etc/trafficserver/records.config#将机器名改成你想要的名字就OKCONFIG proxy.config.proxy_name STRING budong #修改成需要侦听的interface名称CONFIG proxy.config.cluster.ethernet_interface STRING eth0#用来运行 traffic server 的用户,默认是nobodyCONFIG proxy.config.admin.user_id STRING www#默认为8080,,改成80CONFIG proxy.config.http.server_port INT 80#配置内存大小#配置里所有的数值都是以Byte为单位CONFIG proxy.config.cache.ram_cache.size INT 26843545600#开启缓存CONFIG proxy.config.http.cache.http INT 1#开启请求viaCONFIG proxy.config.http.insert_request_via_str INT 1#开启响应via 在集群中容易排查CONFIG proxy.config.http.insert_response_via_str INT 1(4)启动trafficserver进行测试/usr/local/trafficserver/bin/trafficserver start绑定hostsvim /etc/hosts192.168.245.129 apk.mumayi.com测试:wget http://apk.mumayi.com/2013/12/25/0/1/mumayidianzishichangMumayiMarket_V2.0gamma_mumayi_6bd8a.apk

c 删除缓存

修改ip_allow.config,使你的IP具有删除缓存权限:vim ip_allow.configsrc_ip=Your_ip                    action=ip_allow  method=PUSH|PURGE|DELETE删除 cache:[root@lnmp trafficserver]# curl -X PURGE -v  http://apk.mumayi.com/2013/12/25/0/1/mumayidianzishichangMumayiMarket_V2.0gamma_mumayi_6bd8a.apk* About to connect() to apk.mumayi.com port 80*   Trying 192.168.245.129... connected* Connected to apk.mumayi.com (192.168.245.129) port 80> PURGE /2013/12/25/0/1/mumayidianzishichangMumayiMarket_V2.0gamma_mumayi_6bd8a.apk HTTP/1.1> User-Agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5> Host: apk.mumayi.com> Accept: */*> < HTTP/1.1 200 OK< Date: Thu, 26 Dec 2013 07:30:34 GMT< Connection: keep-alive< Server: ATS/4.1.2< Content-Length: 0* Connection #0 to host apk.mumayi.com left intact* Closing connection #0

d cacheurl

场景:观察下面这几个地址,不同的url对应的是同一个文件.如果直接按一个url一个cache对象来存,是不是很浪费空间?apk.mumayi.com/2013/12/25/0/1/mumayidianzishichangMumayiMarket_V2.0gamma_mumayi_6bd8a.apkapka.mumayi.com/2013/12/25/0/1/mumayidianzishichangMumayiMarket_V2.0gamma_mumayi_6bd8a.apkapkb.mumayi.com/2013/12/25/0/1/mumayidianzishichangMumayiMarket_V2.0gamma_mumayi_6bd8a.apkapkc.mumayi.com/2013/12/25/0/1/mumayidianzishichangMumayiMarket_V2.0gamma_mumayi_6bd8a.apkapkd.mumayi.com/2013/12/25/0/1/mumayidianzishichangMumayiMarket_V2.0gamma_mumayi_6bd8a.apk因此,综合了下:apk[a-d].mumayi.com/2013/12/25/0/1/mumayidianzishichangMumayiMarket_V2.0gamma_mumayi_6bd8a.apk可以都存为apk.mumayi.com/2013/12/25/0/1/mumayidianzishichangMumayiMarket_V2.0gamma_mumayi_6bd8a.apk这个对象恩,按照上面的思路那就是cacheurl的作用了.安装cacheurl:wget https://blog.zymlinux.net/softs/cacheurl.tar.gztar zxvf cacheurl.tar.gzcd cacheurl/usr/local/trafficserver/bin/tsxs -c cacheurl.c -o cacheurl.so/usr/local/trafficserver/bin/tsxs -i -o cacheurl.soecho "cacheurl.so" >> /usr/local/trafficserver/etc/trafficserver/plugin.config配置cacheurl:vim /usr/local/trafficserver/libexec/trafficserver/cacheurl.confighttp://apk[a-d].mumayi.com/(.*)  http://apk.mumayi.com/$1恩,完活,这么干,这几个域名实际上就只存了一个域名对应的文件,是不是省了很多磁盘空间?参考资料:https://blog.zymlinux.net/index.php/archives/195

二:是时候结束了

自言自语:

trafficserver是好久之前去玩的东西了,时间长了,好多东西真的忘记了。可见,学习还是要及时的去回顾和复习。本篇文章是自己学习trafficserver时的一个回忆总结,估计自己以后也不会去搞cdn。cache相关的东西,更新到此结束了。希望看到的兄弟多多指教。

参考资料:

官网:http://trafficserver.readthedocs.org/

中国官方博客:https://blog.zymlinux.net

很多cdn牛人在这群里:281057393

CentOS 5.9 下trafficserver的简单使用

相关文章:

你感兴趣的文章:

标签云: