当前位置: 主页 > 环境部署 > 其它服务 >

trafficserver的部署与使用

时间:2013-04-23 13:13来源:www.shencan.net 作者:shencan 点击:
1.安装(软件去官网下载就行) 先安装一下依赖包 yum install disablerepo=\* enablerepo=c6-media openssl-devel expat-develpcre-devel tcl-devel -y tar fxj trafficserver-3.0.2.tar.bz2 cdtrafficserver-3.0.2 (安装包里面有
欢迎大家分享自己的文档,请点击查阅:分享方法,Linux系统运维
如果你喜欢这文章,可以点击文章结尾处百度分享,分享到你的各种社区收藏,或推荐给朋友……


1.安装(软件去官网下载就行)

先安装一下依赖包

yum install  –disablerepo=\* –enablerepo=c6-media  openssl-devel  expat-devel pcre-devel  tcl-devel -y

tar fxj  trafficserver-3.0.2.tar.bz2

cd trafficserver-3.0.2 (安装包里面有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
  1. 修改默认的quick_filter,允许PUSH协议。
  2. traffic_line -s proxy.config.http.quick_filter.mask -v 130
  3. 让配置生效:
  4.  traffic_line -x
  5. 测试,测试之前,应该配置好代理的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 '^]'. 

 
  1. PUSH http://cdn.zymlinux.net/trafficserver/2 HTTP/1.0
  2. 出现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字段

其他的自己去慢慢敲吧

先写到这里。。 下次继续

转载请注明linux系统运维
http://www.linuxyw.com/linux/qitafuwu/20130423/126.html

------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
栏目列表
推荐内容