说明:
对于企业级服务器来说,一般是使用Redhat或是CentOS上来跑Apache traffic server作为代理缓存服务器, 一般使用Ubuntu的机会很少,我这里探讨安装在Ubuntu 12.04上的用法,主要是作为自己平时阅读代码和调试环境的需要,因为我的ThinkPad T420上就在安装的Ubuntu 12.04, 在下班后可以在自己的笔记本电脑上捣腾捣腾.
安装必备的工具包
sudo apt-get install g++ make pkg-config libssl-dev tcl-dev libexpat1-dev libpcre3-dev libmodule-install-perl
推荐安装下面的包
sudo apt-get install libcap-dev libcap2 hwloc libhwloc-dev
开启WCCP需要flex和bison
sudo apt-get install bison flex
需要使用git时,需要安装
sudo apt-get install git git-core
配置和生成
在具体配置之前,你可以使用下面的命令来查看一些可能需要用到的配置选项
./configure -h
./configure --with-group=nogroup
如果是在CentOS上安装,不需要加--with-group=nogroup选项,默认就是nogroup所在的用户和组,如果你还想调试trafficserver,你可以再加上--enable-debug选项。
如果要开启可回收的内存池管理功能,需要加--enable-reclaimable-freelist.
make
sudo make install
安装默认配置,成功安装后会在如下路径安装不同的文件
DEFAULT DIR CONTENTS
/usr/local/var/log/trafficserver 运行时创建的日志文件
/usr/local/var/trafficserver 运行时文件
/usr/local/etc/trafficserver 配置文件
/usr/local/bin 可执行文件
/usr/local/libexec/trafficserver 插件存放目录
/usr/local/share/trafficserver admin相关html文档的root目录
设置配置文件
sudo vim /etc/ld.so.conf
在末尾加上
/usr/local/libexec/trafficserver
保存退出后,输入下面的命令生效.加入这个路径,主要是希望ATS能顺利找到它需要引用的其它.so库文件
sudo ldconfig
启动服务器
sudo trafficserver start
ps auxf | grep traffic
查看traffic相关的3个进程是否全都开启了?
关闭服务器
sudo trafficserver stop
将traffic server设置为系统服务
在将trafficserver软件包安装到Ubuntu或是CentOS下面的/usr/local/bin/目录下面时,会自动生成一个脚本文件trafficserver,将该脚本复制到系统目录/etc/init.d/下面,修改相应的权限,加入trafficserver为系统服务就可以了。下面是具体使用方法:
cd /usr/local/bin
cp trafficserver /etc/init.d/
cd /etc/init.d/
chmod 777 trafficserver
下面使用chkconfig命令将trafficserver设置为系统服务
chkconfig --list
chkconfig --add trafficserver
chkconfig --level 235 trafficserver on
这里稍微解释一下启动等级:等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
下面确认设置是否成功:
chkconfig --list
若发现trafficserver服务在其中,并且是相应的运行级别就是正确的。
实用技巧
1.重新编译安装的方法
假如是上次安装失败,一定要使用下面两行命令清除干净,再重新安装
# It is very important to do a clean uninstall and distclean before
# re-configuring, re-building, and re-installing after the failed
# first install.
sudo make uninstall //删除install的旧文件
sudo make distclean //删除make生成的废文件
2.使用如下命令删除运行一段时间后的ATS中的Cache信息
traffic_server -Cclear
注意,该命令仅是将原有的配置文件改名而不删除,所以最好还是手动删除该目录比较妥当。最后执行安装ATS操作
别忘了更新/usr/local/etc/trafficserver中的配置文件records.config,plugin.config,cache.config
遇到的问题
1.启动后发现traffic_manager和traffic_server进程没有开启?
查看/usr/local/var/log/trafficserver/manager.log,发现8080端口被其他程序占用,为此,使用
netstat -nlp
命令查看,发现是crtmpserver服务器占用了这个端口,遂关闭了这个服务器进程,再次使用
sudo trafficserver start
和
ps auxf | grep traffic
看到3个进程正常开启了.