Apache Traffic Server 安裝部署
系統: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 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 #設置防火墻開機啟動
Apache Traffic Server 安裝部署