阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7.4 下 Apache Traffic Server 安装部署

316次阅读
没有评论

共计 4316 个字符,预计需要花费 11 分钟才能阅读完成。

安装环境

系统:CentOS 7.4

更新 yum

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 参数

执行下面这些命令

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

继续修改文件最大打开数

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 的必须的环境

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

创建属组和用户

groupadd ats
useradd -g ats ats

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

cd /root/trafficserver-7.1.4

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

make -j $(nproc)

make install

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

trafficserver start

常用的命令

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

跨域问题解决

vi add_header.config 

add-header Access-Control-Allow-Origin *

vi plugin.config
header_rewrite.so add_header.config

然后重载配置文件 清除浏览器缓存 清除 ats 缓存

同步时间并修改时区

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)
##############################################################################

编辑配置文件

vim /etc/trafficserver/storage.conf
/data/ats/cache  750G

分区,格式化,挂载,自动挂载

创建目录

mkdir -p /data/ats/cache
chown -R ats.ats /data

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

格式化分区

mkfs.ext4   /dev/sdc

mount /dev/sda1   /data

fstab 设置自动挂载

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 相关软件

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

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

如果不正常开放防火墙端口

systemctl stop firewalld.service # 停止 firewall
systemctl disable firewalld.service # 禁止 firewall 开机启动
yum install iptables-services # 安装
vi /etc/sysconfig/iptables # 编辑防火墙配置文件
-A INPUT -m statestate NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m statestate NEW -m tcp -p tcp –dport 443 -j ACCEPT
systemctl restart iptables.service # 最后重启防火墙使配置生效
systemctl enable iptables.service # 设置防火墙开机启动

CentOS 7.4 下 Apache Traffic Server 安装部署

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4316字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中