一 traffic server简介

Traffic Server是一种高性能Web代理缓存,可通过在网络边缘缓存频繁访问的信息来提高网络效率和性能。这使内容在物理上更接近最终用户,同时实现更快的交付和更少的带宽使用。Traffic Server旨在通过最大化现有和可用带宽来改善企业,Internet服务提供商(ISP),骨干提供商和大型Intranet的内容交付。

实现功能

作为Web代理缓存

  作为Web代理缓存,Traffic Server会在这些请求前往目标Web服务器(源服务器)时接收用户对Web内容的请求。如果Traffic Server包含所请求的内容,则它直接提供内容。如果请求的内容在缓存中不可用,则Traffic Server充当代理:它代表用户从源服务器获取内容,并保留副本以满足将来的请求。

作为反向代理

  反向代理对外部用户来说就好像它是原始服务器一样,尽管它不会自己生成内容。相反,它拦截请求,并根据配置的规则和缓存内容,提供所请求内容本身的缓存副本,或将请求转发给源服务器,可能缓存返回的内容以供将来的请求使用。

透明代理

  透明代理可以是反向代理或正向代理(尽管几乎所有反向代理都是透明部署的),定义功能是使用网络路由通过代理发送请求,而无需客户端自行配置,以及通常没有这些客户端绕过代理的能力。

原始服务器

  生成您希望使用Traffic Server代理(并可选择缓存)的内容的服务器。在转发代理配置中,源服务器可以是代理客户端尝试连接的任何远程服务器。在反向代理配置中,源服务器通常是一组已知的服务器,您使用Traffic Server作为性能增强的缓存层。

转发代理

  转发代理代理访问外部资源,拦截来自网络的所有匹配的出站流量。转发代理可用于加速具有慢速连接的位置的外部访问(通过高速缓存外部资源并使用这些高速缓存的副本直接在将来为请求提供服务),或者可用于限制或监视外部访问。

二  安装

使用源码安装

2.1 安装依赖

pkgconfig  libtool  gcc (>= 4.3 or clang > 3.0) GNU make  openssl  tcl  pcre  libcap  flex (for TPROXY)  hwloc  lua  curses (for traffic_top)  curl (for traffic_top)

先yum 安装

[root@vultr ~]# yum -y install pkgconfig  libtool  gcc make  openssl  tcl  pcre  libcap  flexhwloc  lua  curses curl

2.2 使用git下载源码

安装相关包

[root@vultr ~]# yum -y install  git autoconf automake

Traffic Server将构建为使用默认nobody用户和组,并将安装到/opt/ts

git下载存储库

[root@vultr ~]# cd /usr/local/src/
[root@vultr src]# git clone https://git-wip-us.apache.org/repos/asf/trafficserver.git

切换带克隆目录

[root@vultr src]# cd trafficserver/

如果是从Git克隆了存储库,则需要configure在继续之前生成 脚本

[root@vultr trafficserver]# autoreconf -if

libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build/_aux'.
libtoolize: copying file `build/_aux/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `build'.
libtoolize: copying file `build/libtool.m4'
libtoolize: copying file `build/ltoptions.m4'
libtoolize: copying file `build/ltsugar.m4'
libtoolize: copying file `build/ltversion.m4'
libtoolize: copying file `build/lt~obsolete.m4'
configure.ac:: installing 'build/_aux/ar-lib'
configure.ac:: installing 'build/_aux/compile'
configure.ac:: installing 'build/_aux/config.guess'
configure.ac:: installing 'build/_aux/config.sub'
configure.ac:: installing 'build/_aux/install-sh'
configure.ac:: installing 'build/_aux/missing'
parallel-tests: installing 'build/_aux/test-driver'
example/Makefile.am: installing 'build/_aux/depcomp'
configure.ac: installing 'build/_aux/ylwrap'

2.3 配置源树

[root@vultr trafficserver]# ./configure --prefix=/opt/ts

configure: error: in `/usr/local/src/trafficserver':      #报错,没有安装C++
configure: error: C++ preprocessor "/lib/cpp" fails sanity check

安装gcc-c++

[root@vultr trafficserver]# yum -y install gcc-c++

再次执行,急促报错

[root@vultr trafficserver]# ./configure --prefix=/opt/ts

checking checking whether c++ -std=c++ supports -std=c++... no
configure: error: *** A compiler with support for -std=c++ is required.

查看GCC版本

[root@vultr trafficserver]# gcc --version

gcc (GCC) 4.8.  (Red Hat 4.8.-)
Copyright (C) Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

三 编译安装gcc 7.30版本

3.1 下载源码包

[root@vultr trafficserver]# cd ../

[root@vultr src]# wget https://mirrors.ustc.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz

解压

[root@vultr src]# tar -xf  gcc-7.3.0.tar.gz

3.2 运行 download_prerequisites 脚本

[root@vultr src]# cd gcc-7.3.0

root@vultr gcc-7.3.0]# yum -y install bzip2

[root@vultr gcc-7.3.0]# ./contrib/download_prerequisites

gmp-6.1..tar.bz2: OK
mpfr-3.1..tar.bz2: OK
mpc-1.0..tar.gz: OK
isl-0.16..tar.bz2: OK
All prerequisites downloaded successfully.

将所有的中间文件都放到该目录

[root@vultr gcc-7.3.0]# mkdir gcc-build-7.3.0

[root@vultr gcc-7.3.0]# cd gcc-build-7.3.0

3.3 配置

[root@vultr gcc-build-7.3.0]# ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

编译,时间比较长

[root@vultr gcc-build-7.3.0]#  make

删除旧版的gcc和c++

[root@vultr gcc-build-7.3.]# rpm -q gcc

[root@vultr gcc-build-7.3.]# rpm -q gcc-c++

[root@vultr gcc-build-7.3.]# rpm -e gcc-c++-4.8.-.el7_4..x86_64

[root@vultr gcc-build-7.3.]# yum remove gcc

3.4 安装

[root@vultr gcc-build-7.3.0]#  make install

3.5 检查版本

[root@vultr gcc-build-7.3.0]# which gcc

/usr/local/bin/gcc

[root@vultr gcc-build-7.3.0]# gcc --version

-bash: /usr/bin/gcc: No such file or directory

[root@vultr gcc-build-7.3.0]# ln -s /usr/local/bin/gcc /usr/bin/gcc

[root@vultr gcc-build-7.3.0]# gcc --version

gcc (GCC) 7.3.
Copyright (C) Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

四 、继续安装apache traffic server

[root@vultr gcc-build-7.3.0]# cd ../../trafficserver/

[root@vultr trafficserver]# ./configure --prefix=/opt/ts

checking whether compiling and linking against OpenSSL works... no
configure: error: failed to find OpenSSL

安装Opsnssl

[root@vultr trafficserver]# yum -y install openssl openssl-devel

[root@vultr trafficserver]# ./configure --prefix=/opt/ts

4.1 编译

[root@vultr trafficserver]# make

[root@vultr trafficserver]# make check

4.2 安装

[root@vultr trafficserver]# make install

4.3 配置正向代理

与反向代理相反,在反向代理中,您具有要为其代理(并且可选地缓存)的源服务器的已定义列表,正向代理用于代理(并且可选地缓存)任意远程主机。因此,以下设置records.config是最小转发代理的基本配置:

[root@vultr ~]# cd /opt/ts/

[root@vultr ts]# vim etc/trafficserver/records.config

最低配置
CONFIG proxy.config.url_remap.remap_required INT 0 #禁用重映射规则存在的要求,并在Traffic Server将请求代理到远程主机之前匹配传入请求
CONFIG proxy.config.http.cache.http INT 1 #启用代理HTTP请求的缓存。
CONFIG proxy.config.reverse_proxy.enabled INT 0 #禁用反向代理
CONFIG proxy.config.http.server_ports STRING 10001 10001:ipv6 #修改端口

4.4 启动

[root@vultr ts]# ./bin/trafficserver restart

Stopping traffic_manager:                                  [  OK  ]
Stopping traffic_server: [ OK ]
Starting Apache Traffic Server: [ OK ]

[root@vultr ts]# netstat -ntlp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0.0.0.0: 0.0.0.0:* LISTEN /traffic_manag
tcp 0.0.0.0: 0.0.0.0:* LISTEN /sshd
tcp6 ::: :::* LISTEN /traffic_manag
tcp6 ::: :::* LISTEN /sshd

4.5 配置完成,客户端检测

在配置代理的位置完成

使用cip.cc查看IP

正向代理配置成功!!!

安装ATS(apache traffic server)正向代理的更多相关文章

  1. ATS (apache traffic server) http_ui 设置与使用

    参考官方FAQ进行设置: https://cwiki.apache.org/confluence/display/TS/FAQ#FAQ-http_ui 这里也有一篇: https://blog.zym ...

  2. Apache Traffic Server服务搭建

    一.简介 Apache Traffic Server(ATS或TS)是一个高性能的.模块化的HTTP代理和缓存服务器,与 Nginx 和 Squid 类似.它通过将频繁访问的信息缓存在网络的边缘来改善 ...

  3. Apache Traffic Server

    1. ats 安装 参考:https://docs.trafficserver.apache.org/en/latest/getting-started/index.en.html#installat ...

  4. Apache Traffic Server 5.3.1公布

    本文来源于我在InfoQ中文站翻译的文章,原文地址是:www.infoq.com/cn/news/2015/07/traffic-server-5.3.1-release 近日,Apache软件基金会 ...

  5. CentOS 7安装配置Apache HTTP Server

    原文 CentOS 7安装配置Apache HTTP Server   RPM安装httpd # yum -yinstall httpd //安装httpd会自动安装一下依赖包: apr apr-ut ...

  6. Apache Traffic Server(ats)

    零.前言1.官网 http://trafficserver.apache.org/2.国内社区 https://blog.zymlinux.net3.简洁明了的配置:http://blog.csdn. ...

  7. CentOS7安装配置Apache HTTP Server

    RPM安装httpd 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 # yum -yinstall http ...

  8. apache traffic server安装

    wget http://mirrors.hust.edu.cn/apache/trafficserver/trafficserver-7.1.1.tar.bz2 tar -jxvf trafficse ...

  9. Apache HTTP Server安装教程

    Apache HTTP Server安装教程 Apache HTTP Server的官方网站是:http://httpd.apache.org/,可以从中下载最新版本的Apache HTTP Serv ...

随机推荐

  1. 2019-10-22-Roslyn-打包自定义的文件到-NuGet-包

    title author date CreateTime categories Roslyn 打包自定义的文件到 NuGet 包 lindexi 2019-10-22 19:45:34 +0800 2 ...

  2. @NOIP2018 - D1T1@ 铺设道路

    目录 @题目描述@ @考场上的思路@ @比较正常的题解@ @题目描述@ 春春是一名道路工程师,负责铺设一条长度为 n 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 n 块首尾相连的 ...

  3. @hdu - 5503@ EarthCup

    目录 @description@ @solution@ @accepted code@ @details@ @description@ n 个队伍两两之间比赛,保证没有平局. 现在给出 n 个队伍分别 ...

  4. 项目中容易出现的BUG预警

    之前没有记录BUG的习惯导致在同一个坑里边栽了好几次,于是将最近几个项目中遇到的问题整理一下,在进行新项目时预警一遍: 使用携带有搜索功能的分页查询时,注意当用户更改了查询条件但没有点击查询按钮直接点 ...

  5. A.The beautiful values of the palace 南京网络赛

    A对于知道了解主席树性质的人来说,的确算是一个模板题目 题目在于给一个螺旋矩阵,以及一些权值,问在二维区间内权值和是多少? 对于螺旋矩阵权值来说,计算每个点的值,只需要O1计算即可.我们可以通过计算内 ...

  6. <%@ include file=""%>与<jsp:include page=""/>两种方式的作用以及传值

      一:使用    1.include指令: 1 <%@include file="文件的绝对路径或者相对路径"%> file属性是必填的(绝对或相对路径),但它不支持 ...

  7. webstorm破解教程

    1.下载地址 官网:https://www.jetbrains.com/webstorm/ 下载好之后按照提示安装即可,这里就不再多说了.下面直接说说如何使用补丁破解. 2.使用补丁破解 (http: ...

  8. zoj 3859 DoIt is Being Flooded (MFSet && Flood Fill)

    ZOJ :: Problems :: Show Problem 这题开始的时候想不到怎么调整每个grid的实际淹没时间,于是只好找了下watashi的题解,发现这个操作还是挺简单的. ZOJ3354 ...

  9. git比较两个版本之间的区别

    查看当前没有add 的内容修改: git diff 查看已经add 没有commit 的改动 git diff --cached 查看当前没有add和commit的改动: git diff HEAD ...

  10. java表达式和三目运算符

    是由数字.运算符.数字分组符号(括号)等以能求得数值的有意义排列的序列; a + b 3.14 + a (x + y) * z + 100 boolean b= i < 10 && ...