首页 > 代码库 > Apache Traffic Server(ats)

Apache Traffic Server(ats)

零.前言
1.官网 http://trafficserver.apache.org/
2.国内社区 https://blog.zymlinux.net
3.简洁明了的配置:http://blog.csdn.net/tiantiandjava/article/details/50327855

一.ats安装
1.安装依赖包

#yum install pkgconfig libtool gcc make openssl tcl expat pcre pcre-devel libcap flex hwloc lua curses curl tcl-devel

  


2.下载安装包
下载trafficserver-5.3.2

#wget http://apache.fayea.com/trafficserver/trafficserver-5.3.2.tar.bz2

  


3.安装ats

#tar xvf trafficserver-5.3.2.tar.bz2#cd trafficserver-5.3.2#./configure --prefix=/usr/local/ats#make && make install

  

二.配置
1.ats的配置文件都在安装目录下的etc/trafficserver,此处为/usr/local/ats/etc/trafficserver

2.重要配置文件:
(1).records.config 主要配置文件,配置ats的各项参数
安装完后该项保持默认配置

(2).remap.config 配置访问域名和源
如,在该文件最后增加

map http://domain.com http://113.107.101.126:8111/


前者为绑定域名,后者为源

(3).storage.config 配置磁盘缓存
在其最后增加

/ats_cache 20G


该配置是将磁盘缓存缓存在/ats_cache目录下,大小为20G

(4).cache.config 缓存配置
该文件决定了ats对缓存的配置

url_regex=192.168.2.105:8112/news.php\?id=.* ttl-in-cache=2h cache-responses-to-cookies=4

  

cache-responses-to-cookies取值介绍
0 不缓存任何带cookie的源服务器返回结果
1 缓存任何结果
2 只缓存图片类型的结果
3 缓存除了text类型的所有结果
4 缓存所有的非text类型的返回结果,以及不带 Set-Cookie 头或带 Cache-Control: public的text类型的源服务器返回结果

以上url正则表示缓存源网址为192.168.2.105:8112/news.php?id=任意结果的相应数据,缓存两小时,前提是该网址不带有Set-Cookie

(5).logs_xml.config 配置日志

 

三.常用配置

1.配置http ui

(1).在recoreds.config最后增加

CONFIG proxy.config.http_ui_enabled INT 3CONFIG proxy.config.http.enable_http_info INT 1

  


(2).在remap.config中增加

map http://localhost/cache-internal/ http://{cache-internal}map http://localhost/cache/ http://{cache} @action=allow @src_ip=127.0.0.1map http://localhost/stat/ http://{stat} @action=allow @src_ip=127.0.0.1map http://localhost/test/ http://{test} @action=allow @src_ip=127.0.0.1map http://localhost/hostdb/ http://{hostdb} @action=allow @src_ip=127.0.0.1map http://localhost/net/ http://{net} @action=allow @src_ip=127.0.0.1map http://localhost/http/ http://{http} @action=allow @src_ip=127.0.0.1

  

(3).通过以上配置,即可通过http协议来访问http ui

2.配置日志
(1).ats默认的日志是squid格式并不符合要求
(2).配置自定义日志
a.在logs_xml.config中增加

<LogFormat><Name = "access"/><Format = "%<chi> %<cqtq> %<ttms> %<{X-Forwarded-For}cqh> %<crc>/%<pssc> %<pscl> %<cqhm> %<cquuc> %<cqhv> %<phr>/%<pqsi> %<psct> \"%<{Referer}cqh>\" \"%<{User-Agent}cqh>\" %<shn> %<sscl>"/></LogFormat><LogObject><Format = "access"/><Filename = "access"/></LogObject>

  

*format每项代表的意思,可以通过 https://docs.trafficserver.apache.org/en/5.3.x/admin/working-log-files.en.html 来查看

b.修改或增加records.config中的如下配置

CONFIG proxy.config.log.squid_log_enabled INT 0CONFIG proxy.config.log.custom_logs_enabled INT 1

  

c.重载配置,后面会介绍


3.配置via标示,来快速确认文件缓存状态
a.

CONFIG proxy.config.http.insert_response_via_str INT 2

  

b.然后查看头部,可以看到
Via:http/1.1 localhost.localdomain (ApacheTrafficServer/5.3.2 [cRs f ])

c.查看[cRs f ],可以通过网址
http://trafficserver.apache.org/tools/via#cSsSfD
来查看
也可以通过命令来解释,后面会介绍


四.常用命令

1.命令通常在安装目录下的bin目录下,本文为/usr/local/ats/bin/


2./usr/local/ats/bin/trafficserver start #启动
/usr/local/ats/bin/trafficserver stop #停止
/usr/local/ats/bin/trafficserver restart #停止

3.重载配置
/usr/local/ats/bin/traffic_ctl config reload

4.查看squid日志
/usr/local/ats/bin/traffic_logcat filename #查看squid日志

5./usr/local/ats/bin/traffic_logstats #查看状态

Apache Traffic Server(ats)