CentOS 7.4 下 Apache Traffic Server 安装部署

2022-08-08 15:20:54 浏览数 (1)

安装环境

系统:CentOS 7.4

更新yum
代码语言:javascript复制
yum update
yum -y install epel*
先安装bzip2

yum -y install bzip2

1.下载源代码

我这里下载的是 7.1版本的源代码 最新的已经有8.0版本 http://archive.apache.org/dist/trafficserver/trafficserver-7.1.4.tar.bz2 需要访问这个url里面有链接 用wget 下载

下载后解压缩

bzip2 -d .tar.bz2 //将文件解压成.tar tar -xf **.tar //解包

下载完成后不要着急编译 先优化下系统 如果是美国机器做视频站用的话 最好做个锐速

开始优化Linux参数

执行下面这些命令

代码语言:javascript复制
cat << 'EOT' >> /etc/sysctl.conf
fs.file-max=655350
net.ipv4.tcp_max_tw_buckets = 300000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.rmem_default=98304
net.core.wmem_default=98304
net.core.rmem_max=2097152
net.core.wmem_max=2097152
net.ipv4.tcp_rmem=4096 98304 2097152
net.ipv4.tcp_wmem=4096 98304 2097152
net.ipv4.tcp_low_latency=1
net.ipv4.tcp_slow_start_after_idle=0
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_fin_timeout = 20
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_syncookies = 0
#net.ipv4.tcp_tw_len = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.ip_local_port_range = 1024 65000
EOT
修改完参数执行

sysctl -p /etc/sysctl.conf

继续修改文件最大打开数
代码语言:javascript复制
cat << 'EOT' >> /etc/security/limits.d/nofile.conf
* soft nofile 655350
* hard nofile 655350
EOT
cat <<EOF>>/etc/rc.local
#open files
ulimit -HSn 655350
#stack size
ulimit -s 655350
EOF
安装ATS的必须的环境
代码语言:javascript复制
yum install -y gcc gcc-c   pkgconfig pcre-devel tcl-devel expat-devel openssl-devel perl-ExtUtils-MakeMaker bzip2

yum install -y libcap libcap-devel hwloc hwloc-devel ncurses-devel libcurl-devel libunwind libunwind-devel autoconf automake libtool

yum -y install git gcc gcc-c   autoconf automake libtool pkgconfig pcre-devel tcl-devel expat-devel openssl-devel xz-devel boost-devel perl-ExtUtils-MakeMaker libcap libcap-devel hwloc hwloc-devel libunwind libunwind-devel curl curl-devel ncurses  ncurses-devel

yum install centos-release-scl -y

yum install devtoolset-6-gcc* -y

scl enable devtoolset-6 bash
准备开始编译ATS
创建属组和用户
代码语言:javascript复制
groupadd ats
useradd -g ats ats

进入ATS目录开始编译 编译安装需要一会时间 请耐心等待

代码语言:javascript复制
cd /root/trafficserver-7.1.4

./configure --prefix=/ --with-user=ats --with-group=ats --enable-experimental-plugins

make -j $(nproc)

make install
等待编译完成 执行启动下看看

trafficserver start

常用的命令
代码语言:javascript复制
1.1.启动
2.trafficserver start 
3.2.关闭
4.trafficserver stop
5.3.重启
6.trafficserver restart 
7.4.重载配置文件(很多情况下好像都没有生效)
8.traffic_ctl config reload
9.5.监控ats的状况 类似于top命令
10.traffic_top
11.6.清理所有缓存
12.traffic_server -Cclear
跨域问题解决
代码语言:javascript复制
vi add_header.config 

add-header Access-Control-Allow-Origin *

vi plugin.config
header_rewrite.so add_header.config
然后重载配置文件 清除浏览器缓存 清除ats缓存
同步时间并修改时区
代码语言:javascript复制
yum install -y ntpdate
/sbin/ntpdate cn.pool.ntp.org #同步时间
tzselect
timedatectl set-timezone Asia/Shanghai #设置时区

复制root目录下的脚本到新服务器 (查看权限是否相同,以及属主属组) 修改iD配置文件auto.sh autolog.sh server=6 数字为卧龙后台播放列表竖列,没有空着的就联系主管新增一列,从左往右数新增在第几列id就为几

复制线上配置文件/etc/trafficserver下所以配置文件到新增服务器 修改vi records.config下 ############################################################################## CONFIG proxy.config.http.insert_request_via_str INT 0 CONFIG proxy.config.http.insert_response_via_str INT 2 CONFIG proxy.config.http.response_server_str STRING wlzy_cdn(BGP)/1.0 CONFIG proxy.config.http.response_via_str STRING wlzy_cdn(BGP) ##############################################################################

编辑配置文件
代码语言:javascript复制
vim /etc/trafficserver/storage.conf
/data/ats/cache  750G
分区,格式化,挂载,自动挂载
创建目录
代码语言:javascript复制
mkdir -p /data/ats/cache
chown -R ats.ats /data

创建分区 fdisk /dev/sdb n p 直接回车全给 w

格式化分区
代码语言:javascript复制
mkfs.ext4   /dev/sdc

mount /dev/sda1   /data
fstab设置自动挂载
代码语言:javascript复制
vim /etc/fstab 
/dev/sdc1 /data  ext4 defaults 0 0
创建/web/log目录
创建/var/log/trafficserver/squid.log 日志文件

将线上的crontab 拷贝到新的服务器上 配置好后重启 trafficserver restart 查看tail diags.log日志报错信息

安装pyhton,cacti client相关软件
代码语言:javascript复制
wget https://www.Python.org/ftp/python/3.6.2/Python-3.6.2.tgz
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel -y
tar zxf Python-3.6.2.tgz 
cd Python-3.6.2
./configure --prefix=/usr/local/
make
make altinstall
ln -s /usr/local/bin/python3.6 /usr/bin/python3
ln -s /usr/local/bin/pip3.6 /usr/bin/pip

安装zabbix zabbix部署在前面博客

将该服务添加到zabbix server

重启ATS,然后查看一下分区大小。发现使用飙升。说明配置正确了。能正确读写缓存文件了,然后查看日志,确认一下是否还有其他错误

创建文件夹

mkdir /web/log 执行./autolog.sh脚本

ip加入DNS解析

https://www.dns.com

测试80,443端口是否正常

telnet ip 80 telnet ip 443

添加白名单增加服务器之后吧服务器重新添加进去

如果不正常开放防火墙端口
代码语言:javascript复制
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动

0 人点赞