来源 灿哥的Blog

1.安装(软件去官网下载就行)
先安装一下依赖包
http://mirrors.aliyun.com/apache/trafficserver/

yum install gcc gcc-devel gcc-c++ openssl openssl-devel tcl  tcl-devel  libxml2 libxml2-devel pcre pcre-devel

tar -jxf trafficserver-6.1.1.tar.bz2 
cd trafficserver-6.1.1(安装包里面有http_load  jtest等压力测试工具,还有一个push.pl的脚本)

新建用户
useradd -s /sbin/nologin trafficserver
./configure –prefix=/usr/local/trafficserver  –with-user=trafficeserver –with-group=trafficeserver
make -j 8
make -j 8 install
添加一下环境变量 echo “export PATH=$PATH:/usr/local/trafficserver/bin” >>/etc/profile

2.配置records.config(主配置文件)
配置参数较多,不能一一解释 下面介绍几个常用的(而且配置参数易懂 )
CONFIG proxy.config.cache.ram_cache.size INT 26843545600   (配置内存大小)
CONFIG proxy.config.http.server_port INT 80       (监听端口 默认是8080)
CONFIG proxy.config.http.insert_request_via_str INT 1 (开启请求via)
CONFIG proxy.config.http.insert_response_via_str INT 1(开启响应via 在集群中容易排查)
CONFIG proxy.config.log.custom_logs_enabled INT 1 (开启自定义日志 默认日志格式不好进行分析)
CONFIG proxy.config.dns.resolv_conf STRING /etc/resolv.conf (回源dns)
CONFIG proxy.config.http.cache.when_to_revalidate INT 0 (相当于squid mod_offline )

3.配置remap.config (回源配置文件)
添加一行
regex_map http://(.*) http://$1

4.配置日志格式 logs_xml.config
下面贴一个我们线上用的日志格式 (默认在安装路径 var/log/trafficserver/下)
<LogFormat>
<Name = “access”/>
<Format = “%<cqtq> %<ttms> %<{X-Forwarded-For}cqh> %<crc>/%<pssc> %<pscl> %<cqhm> %<cquuc> %<cqhv> %<phr>/%<pqsi> %<psc
t> \”%<{Referer}cqh>\” \”%<{User-Agent}cqh>\” %<shn> %<sscl>”/>
</LogFormat>
5.配置storage.config 文件(cache目录定义文件)
淘宝最新出的一个版本有一个专门的stotage_ssd.config配置文件针对ssd盘的
格式为目录 大小
/export/data 100GB
/dev/raw/raw1 #这个是我们直接把cache目录指定到裸盘上面,关于裸盘的使用,后面博客会记录
上面5个过程配置完成后,trafficserver基本可以服务了,可能每个人有些特殊的要求,可以到官网文档上去找,

网上的一些解析
CONFIG proxy.config.exec_thread.autoconfig INT 1
CONFIG proxy.config.exec_thread.autoconfig.scale FLOAT 2.0
CONFIG proxy.config.exec_thread.limit INT 2   # 每个核创建的线程数
CONFIG proxy.config.cluster.ethernet_interface STRING eth0 # 设置以太网接口
CONFIG proxy.config.http.server_port INT 8080  # 监听端口,反向代理通常为80
LOCAL proxy.local.incoming_ip_to_bind STRING 0.0.0.0 # 绑定的 IP,可省略,默认即为 0.0.0.0
CONFIG proxy.config.http.cache.http INT 1 # 打开缓存功能
CONFIG proxy.config.cache.ram_cache.size INT 512M  # RAM 缓存大小
CONFIG proxy.config.reverse_proxy.enabled INT 1   # 打开
CONFIG proxy.config.url_remap.remap_required INT 1 # 1为只反向代理,0为正向+反向代理
CONFIG proxy.config.url_remap.pristine_host_hdr INT 0
CONFIG proxy.config.ssl.enabled INT 0 # 关闭SSL
CONFIG proxy.config.ssl.server.cert.filename STRING server.pem
CONFIG proxy.config.http.server_max_connections INT 2000  # 同源服务器的最大连接数
CONFIG proxy.config.http.keep_alive_no_activity_timeout_out INT 60 # 当一个事务结束后同原服务器保持连接的时间

6.启动trafficserver

trafficserver start (前面已经弄了环境变量)

7.一些查看trafficserver服务信息的命令

traffic_shell 是一个命令集

traffic_line 可以直接改配置文件

例如查看流量 cache率 qps     echo “show:proxy-stats”|traffic_shell

命令很多 不能一一解释了 可以traffic_shell 然后show一下 很多东东

重读配置 traffic_line -x

附上一个清cache的小脚本

[root@XMEN-CT-CDN-55 ~]# cat purg.sh
#!/bin/bash
URL=$1
host=`echo $URL|awk -F”/” ‘{print$3}’`
url=`echo $URL|cut -d”/” -f4-`
curl -X PURGE -I -H Host:$host http://127.0.0.1/$url

清除全部cache

先关闭服务
traffic_server -Cclear 就行
更新一个ATS的PUSH方法(就是讲一个内容打进cache内)

如何启用PUSH方法:
PUSH方法是一种直接往TS中注入内容的方法,其为标准的HTTP协议。TS支持PUSH, 但是出于安全等的考虑,默认关闭了PUSH方法,
下面是如何启用并测试的步骤。请 注意,如不严格限制对PUSH方法的使用,将会产生严重的安全隐患,请务必在acl 层面进行对PUSH发起端的控制。

启用PUSH方法:
traffic_line -s proxy.config.http.push_method_enabled -v 1
修改默认的quick_filter,允许PUSH协议。
traffic_line -s proxy.config.http.quick_filter.mask -v 130
让配置生效:
traffic_line -x
测试,测试之前,应该配置好代理的map等其他功能,确保正确的访问没有问题,然后再测 试PUSH功能,以利于分析问题。TS
代码中的tools目录下,有个push.pl可以用来 向TS 服务器push文件,也可以使用类似如下telnet方法测试:
zym6400 trafficserver # telnet localhost 80 Trying 127.0.0.1... Connected to localhost.localdomain.
 Escape character is '^]'.


PUSH http://cdn.zymlinux.net/trafficserver/2 HTTP/1.0


出现200 ok就行
然后再测试一下
zym6400 trafficserver # telnet localhost 80 Trying 127.0.0.1... Connected to localhost.localdomain.
 Escape character is '^]'.


GET http://cdn.zymlinux.net/trafficserver/2 HTTP/1.0


出现200 ok就行 并且看一下响应头 会出现H字段

results matching ""

    No results matching ""