centos安装varnish(centos安装步骤)

CentOS8正式发布基于RedHatEnterpriseLinux8

CentOS项目是对Red Hat Enterprise Linux的100%兼容的重建,完全符合Red Hat的重新发布要求,并发布了一个新版本:CentOS 8.0.1905,适用于所有受支持的体系结构。

紧随CentOS Linux 7.7发行版之后,CentOS Linux 8现已正式发布,新版本基于Red Hat Enterprise Linux 8.0源,这意味着它具有混合云时代的所有强大的新特性和增强功能。

重点包括对应用程序Streams的支持,Streams由快速更新的框架,编程语言和开发人员工具组成,并经常更新,系统管理员可以更轻松地自动执行复杂的任务,以及对OpenSSL 1.1.1和TLS 1.3加密标准的内置支持。

CentOS Linux 8还提供了对ARM和POWER体系结构的支持,基于DNF的YUM软件包管理器,默认情况下为Python 3,更新的版本控制系统(包括Git 2.18,Mercurial 4.8和Subversion 1.10)的改进,对GNOME 3.28桌面环境的支持。以及Anaconda安装程序中的LUKS2磁盘加密支持。

CentOS Linux 8发行版的其他值得注意的功能是BPF编译器集合(BCC),用于创建有效的内核跟踪和操作程序的新工具,内核中扩展的伯克利包过滤(eBPF)功能以及用于创建自定义系统映像的Image Builder工具。

更新的组件

在底层,CentOS Linux 8附带了许多更新的组件,其中我们可以提到PHP 7.2,Ruby 2.5,Perl 5.26,SWIG 3.0,MariaDB 10.3,MySQL 8.0,PostgreSQL 10,PostgreSQL 9.6,Redis 5,Apache 2.4,nginx 1.14,Squid 4.4和Varnish Cache 6.0。

您可以立即通过官方网站下载用于64位(x86_64)体系结构的CentOS Linux 8。 CentOS Linux 8也可以从以下链接下载用于AArch64(ARM64)和PPC64le(PowerPC 64位Little Endian)架构。同样在今天,出人意料的是Red Hat也宣布发布CentOS Stream,因为它们是面向开发人员和早期采用者的新的前瞻性滚动发行版。

总结

以上所述是小编给大家介绍的CentOS 8正式发布基于Red Hat Enterprise Linux 8,大家如有疑问可以留言,或者联系站长。感谢亲们支持!!!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

apache traffic server怎么配置webui

一介绍

Apache Traffic Server(ATS或TS)是一个高性能的、模块化的 HTTP代理和缓存服务器。Traffic Server最初是 Inktomi公司的商业产品,该公司在 2003年被 Yahoo收购,之后 Traffic Server一直在 Yahoo内部使用长达 4年,直到 2009年 8月 Yahoo向 Apache软件基金会(ASF)贡献了源代码,并于 2010年 4月成为了 ASF的顶级项目(Top-Level Project)。 Apache Traffic Server现在是一个开源项目,开发语言为C++。

Traffic Server的开发团队曾经由 Chuck Neerdaels领导,他也是 Harvest项目的早期创始人之一,Harvest项目后来发展为十分流行的 Squid项目;Leif Hedstrom直接管理着现在的 Traffic Server开发团队。目前 Chuck Neerdaels和 Leif Hedstrom都已加盟知名 CDN服务提供商 Akamai。

HTTP代理服务器是 HTTP服务器的一种实现,处于客户端(一般为浏览器)与另一个 HTTP服务器之间(通常指源服务器,Origin Server)。HTTP代理通常分为正向代理、反向代理和透明代理,我们主要关注的是反向代理(Reverse Proxy,见下图)反向代理服务器根据明确配置的映射规则来处理用户请求。反向代理服务器通常会设置一个较大的缓存区,服务器处理请求的同时将请求的内容缓存在服务器本地,当下次用户请求同一个对象时,服务器可直接从缓存区里取出对象,而不用去源服务器去取,起到了加速的效果。另外,配置反向代理的映射规则也能实现负载均衡的功能。除了 Traffic Server,常见的开源代理服务器还有 Squid,Varnish,Nginx,HAProxy。

Apache<wbr>Traffic<wbr>Server<wbr>简介

Traffic Server在 Yahoo内部使用了超过 4年,主要用于 CDN服务,CDN用于分发特定的 HTTP内容,通常是静态的内容如图片、JavaScript、CSS。下面是Traffic Server在 Yahoo CDN应用的一些情况:

超过 4年的使用中,缓存中没有出现已知的数据损坏(data corruption);

作为反向代理,服务器方便部署和管理,并且大部分配置的更改可直接在线上服务器完成,而不用重启服务;

在高并发情况下扩展良好,支持 HTTP/1.1协议特性,如 SSL、Keep-Alive;

在世界范围内部署了超过 100台服务器;

在实际CDN中,每秒处理超过 350,000次请求,达到 30 Gbps,最大容量至少十倍于普通使用,以应对高峰时的大量请求;

在实际 CDN中,每台服务器有 20,000到 30,000的 keep-alive并发连接,其中有 1,000到 2,000的连接是一直很活跃的;

实验环境中,单台服务器每秒处理 105,000次请求,请求的对象是被缓存住的小文件;

实验环境中,请求大文件时,单台服务器达到 3.6 Gbps(4x GigE NIC bonded)。

二组件、机制

Traffic Server(TS)的组成

1.Traffic Server缓存

TS缓存包含一个高速的对象数据库,数据库根据 URL和相关头部来索引对象,对于同一对象可以缓存不同版本(如不同的编码、语言)。

当缓存空间满后,TS会移除过期的数据。

当磁盘出错时,TS将不再使用该块磁盘,转而使用剩下的磁盘。所有磁盘都出错时,TS将切换至 proxy-only模式,即只代理,不缓存。

可分区,即可以给指定的协议和源服务器划分一定数量的磁盘空间

2.RAM缓存

内存缓存区储存比较热门的对象,在流量的高峰期时能加快处理速度和降低磁盘负载。

3.主机数据库

储存 DNS信息,方便主机名到 IP地址的快速转换

储存每个主机的 HTTP版本,方便高级协议特性的使用

储存主机的可靠性和可用性信息

4.DNS解析器

TS原生实现了 DNS解析器,不依赖较慢的传统解析库。同时也降低了 DNS的流量。

5.Traffic Server进程

traffic_server进程负责接受连接,处理协议请求,然后从缓存或源服务器获取对象并返回

traffic_manager进程是 TS的命令和控制设施,负责启动、监控和配置 traffic_server进程,它也负责代理的端口配置、统计信息的接口、集群管理和虚拟 IP的故障转移。

如果 traffic_manager检测到 traffic_server进程失效,它立即重启 traffic_server进程并且维护一个连接队列,保存此时到来的请求,完全重启后这个队列里的连接将按顺序被处理。

traffic_cop进程监视 traffic_server和 traffic_manager进程,此进程周期性的查询 traffic_server和 traffic_manager进程的健康状况,如果查询在一定间隔时间内未返回或者返回信息不正确,traffic_cop将重启 traffic_manager和 traffic_server进程。

Apache<wbr>Traffic<wbr>Server<wbr>简介

6.管理工具

Traffic Line是命令行程序,可以用来快速监视 Traffic Server的性能和网络流量,也能配置 TS。

Traffic Shell也是命令行工具,进入该 shell后有自己一套语法,可代替 Traffic Line完成监控、配置任务。

通过 Traffic Line和 Traffic Shell对配置作出的修改将会自动写入配置文件中。

Traffic Server的底层机制

Apache Traffic Server不同于大部分开源代理服务器,它结合了两种技术来处理高并发:

异步事件处理(Asynchronous event processing)

多线程(Multi-threading)

Traffic Server在多 CPU、多核的硬件上扩展良好,能充分利用所有可用的 CPU和其他资源。

HTTP代理缓存相关机制

1. Traffic Server处理请求的过程

1)用户请求一个 web对象,TS收到请求

2)TS通过对象的地址,在对象数据库(缓存)中去定位该对象

a.如果对象在缓存中,TS会检查对象是否新鲜(fresh)

如果新鲜,TS从缓存里返回该对象给用户,此时称为缓存命中(cache hit)

如果不新鲜(stale),TS会连接源服务器去验证对象是否仍然新鲜,即重新验证(revalidation),如果仍然新鲜,TS立即将缓存中的副本返回给用户

b.如果对象不在缓存中(缓存未命中,cache miss),或者缓存的副本不再有效,TS会去源服务器获取对象,然后同时做下面两件事

将对象返回给用户

将对象放到本地缓存中

2. Traffic Server判断 HTTP对象是否新鲜(fresh)的过程

如果有 Expires或者 max-age头部直接定义缓存的过期时间,TS将对比当前时间和过期时间去判断对象是否新鲜

如果没有上述头部,TS将检查 Last-Modified和 Date头部(其中Date是源服务器返回对象的时间,如果没有 Last-Modified头部,TS会用对象写入缓存的时间以作代替),然后用以下公式算出新鲜的时间范围(freshness_limit,可理解为保质期):

freshness_limit=( Date- Last-Modified) x 0.1

0.1这个参数可以作调整,并且能限制 freshness_limit的上下限,默认最小是 1小时,最大是 1天

如果没有 Expires头部或者没有 Last-Modified、Date头部,TS将使用默认的 fressness limit

另外,TS还会检查 cache.config配置文件中的 revalidate规则,该规则可以对特定的 HTTP对象设置特定的验证时间(特定的域名、IP、一定规则的 URL、特定的客户端等等)

3.缓存过期(stale),Traffic Server去源服务器重新验证对象可能的情况

仍然 fresh,TS重置 freshness_limit,并返回对象

对象新副本可用,TS缓存新对象,并同时返回给用户

源服务器上的对象不再存在,TS也不再返回该副本给用户

源服务器没有响应,TS返回过期的对象并发出警告。

更详细的说明请查看 Traffic Server管理文档中的 HTTP Proxy Caching部分

三安装、使用

Apache Traffic Server开源后添加了 64位支持,也移植到了常见的 Linux发行版、FreeBSD、OpenSolaris和 Mac OS X,开源之前 Yahoo Traffic Server一直运行在 32-bit Linux上。

(以 Apache Traffic Server 2.1.1 unstable为例在 32-bit Linux环境下进行安装测试)

安装

1.下载、解压

wget

wget

md5sum-c trafficserver-2.1.1-unstable.tar.bz2.md5

tar jxvf trafficserver-2.1.1-unstable.tar.bz2

cd trafficserver-2.1.1-unstable

2.编译、安装

查看 README说明文档,安装编译依赖的库(centos可参照 fedora依赖的软件包,pcre包替换为 pcre-devel即可)

./configure--help查看编译的一些选项

./configure(默认安装在/usr/local,如需修改,使用--prefix=PREFIX;参数中还有用户和用户组选项,这是 TS进程运行的身份,默认均为 nobody,centos可以不作修改,其他发行版可能需要修改,如./configure--with-group=nogroup)

make

make install以管理员身份执行

目录结构

默认目录

内容

/usr/local/var/log/trafficserver

运行时创建的日志文件

/usr/local/var/trafficserver

运行时的一系列文件

/usr/local/etc/trafficserver

配置文件

/usr/local/bin

可执行文件

/usr/local/libexec/trafficserver

插件

初步配置

records.config是 key-value格式的配置文件,负责大部分全局的选项设置,即主配置文件。

storage.config用于指定磁盘存储。

remap.config定义映射规则,用于请求的重写(rewrite),反向代理即在此配置。

records.config中关键的配置

CONFIG proxy.config.exec_thread.autoconfig INT 1

CONFIG proxy.config.exec_thread.autoconfig.scale FLOAT 2.0

CONFIG proxy.config.exec_thread.limit INT 2#经观察是每个核创建的线程数,官方文档中未提及

CONFIG proxy.config.cluster.ethernet_interface STRING eth0#设置以太网接口

CONFIG proxy.config.http.server_port INT 8080#监听端口,反向代理通常为80

LOCAL proxy.local.incoming_ip_to_bind STRING 0.0.0.0#绑定的 IP,可省略,默认即为 0.0.0.0

CONFIG proxy.config.http.cache.http INT 1#打开缓存功能

CONFIG proxy.config.cache.ram_cache.size INT 512M# RAM缓存大小

CONFIG proxy.config.reverse_proxy.enabled INT 1#打开

CONFIG proxy.config.url_remap.remap_required INT 1# 1为只反向代理,0为正向+反向代理

CONFIG proxy.config.url_remap.pristine_host_hdr INT 0

CONFIG proxy.config.ssl.enabled INT 0#关闭SSL

CONFIG proxy.config.ssl.server.cert.filename STRING server.pem

CONFIG proxy.config.http.server_max_connections INT 2000#同源服务器的最大连接数

CONFIG proxy.config.http.keep_alive_no_activity_timeout_out INT 60#当一个事务结束后同原服务器保持连接的时间

remap.config配置

map 通过 DNS轮询可实现负载均衡

reverse_map reverse_map能在源服务器有 HTTP重定向跳转时,修改重定向请求,即重写 Location头部内容

map

reverse_map

map

reverse_map

storage.config配置

/data1 67108864#指定一个或多个目录,注明缓存大小,也可直接指定 raw分区,详见storage.config中的注释说明

更详细的配置可参考官方管理指南

服务控制

运行/usr/local/bin/trafficserver start

结束/usr/local/bin/trafficserver stop

重启/usr/local/bin/trafficserver restart

命令行工具、监控

/usr/local/bin/traffic_line需用管理员身份执行

查看帮助 traffic_line-h

查看变量的值 traffic_line-r变量名(变量名见官方管理指南附录C,含 TS运行时统计数据)

给变量赋值 traffic_line-s变量名-v值(变量名见records.config)

不重启TS使配置生效 traffic_line-x

/usr/local/bin/traffic_shell需用管理员身份执行,进入后提示符为“%”

查看帮助 man traffic_shell(由于开发者疏忽,暂不能用)

show命令,如%show:cache-stats查看缓存统计,如命中情况,缓存大小;如%show:proxy-stats查看命中率

config命令,如%config:logging event disable关闭日志;如%config:cache clear,清除缓存,config命令作出的修改都会立即生效

/usr/local/bin/traffic_logcat日志查看工具

traffic_logcat-h获得帮助

查看二进制日志 traffic_logcat日志文件名

Traffic Server系统自身的运行日志可在/var/log/message中查看(centos),用于排错

traffic_logstats提供了基于日志的统计功能

四结论

Apache Traffic Server开源后功能在不断被开发,性能得到很大提升,社区也在逐渐发展,但除了 Yahoo之外还很少有其他实践,很多功能(如集群)的文档有待完善。Traffic Server丰富的插件开发是其一大亮点,模块化的特点使其拥有很好的扩展性和灵活性,再加上它的高性能,相信 Apache Traffic Server未来将在很多场景中替代传统的代理和缓存服务器而成为大家的首选。

阅读剩余
THE END