缓存服务器的功能是什么?(讲授cdn中缓存服务器的构造和配置)



1、 Cdn公司

1.定义

以下引用自百度百科

CDN的全称是内容交付网络,即内容分发网络。其基本思想是尽可能避免可能影响互联网上数据传输速度和稳定性的瓶颈和链接,从而使内容传输更快、更稳定。CDN系统可以根据网络流量、每个节点的连接、负载状态、到用户的距离、响应时间以及每个节点的其他综合信息,通过在整个网络中放置节点服务器,将用户的请求实时重定向到最近的服务节点,从而在现有互联网的基础上形成智能虚拟网络。其目的是让用户能够就近获取所需内容,解决互联网拥堵,提高用户访问网站时的响应速度。

QQ资源站

2.工作原理

CDN的基本原理是广泛使用各种缓存服务器,将这些缓存服务器分发到用户访问相对密集的区域或网络。当用户访问网站时,使用全局加载技术引导用户访问最近的普通缓存服务器,缓存服务器将直接响应用户的请求。

2、 Cdn缓存清漆服务器

1.定义

Varnish是一款高性能开源HTTP加速器

2.工作原理

用户通过浏览器访问http服务器,但需要首先通过http加速器清漆服务器。如果用户访问的内容位于varnish的缓存中,则访问内容将直接从varnish服务器返回。如果它不在varnish的缓存中,用户需要访问的内容将首先从后端http服务器获取,并保存在varnisk的缓存中以供下次访问。

3.清漆服务器的构建和配置

实验环境:rhel6.5

服务器1:172.25.70.1

服务器2:172.25.70.2

服务器3:172.25.70.3

基础70.ilt示例。通信172.25.254.70

其中服务器1是清漆服务器、服务器2和服务器3是后端http服务器,

基础70.ilt示例。com作为测试主机

1) 安装和配置

清漆-3.0.5-1.el6.x86_64.rpm

[ root@server1~]#yuminstallvarnish-3.0.5-1.el6.x86_64.rpm-y1

如果发生以下错误

只需安装依赖程序包

[ root@server1~]#yuminstallvarnish-libs-3.0.5-1.el6.x86_64.rpm-y12

注意版本的一致性

安装完成后,检查/etc/passwd文件,以发现还有一个额外的清漆用户

清漆:x:498:499:varnish缓存:/var/lib/vinary:/sbin/nologin1

2) 清漆服务器的配置

配置后端服务器

[ root@server1~]#vim/etc/varnish/default。vcl 1

后端web1{.host=“172.25.70.2”;.port=“80”;}1234

添加语句块以查看缓存命中

subvcl_delivery{if(obj.his>;0){set resp.http.X-Cache=“来自westos缓存的HIT”;}否则{set resp.http.X-Cache=“来自westos缓存的MISS”;}返回(交付);}123456789

如果对象命中,则此语句块从西部缓存返回HIT,如果对象未命中,则从西部缓存中返回MISS

配置清漆维修端口

[ root@server1~]#vim/etc/sysconfig/varnish1

VARNISH_LISTEN_端口=801

启动清漆服务

[ root@server1~]#/etc/init。d/清漆开始12

3) 为server2安装Apache服务器并编辑默认发布页面

[ root@server2~]#yum安装httpd-y[root@server2~]#vim/var/www/html/index。html<;h1>;后端web1<;/h1>;[ root@server2~]#/etc/init。d/httpd启动1234

4) 测试

a、 在测试机器的浏览器上访问清漆服务器的IP地址

您可以看到,varnish服务器的IP地址访问varnish配置文件中指定的后端http主机的默认发布文件

b、 测试缓存命中

首次访问未命中

[ root@server2~]#curl-I172.25.70.1HTTP/1.1200OKServer:Apache/2.2.15(RedHat)上次修改时间:2018年2月11日星期日04:18:24GMTETag:“40141-16-564e80d6fcbca”内容类型:text/html;charset=UTF-8内容长度:22接受范围:字节日期:太阳,2018年2月11日04:19:15GMTX-Varnish:359822168年龄:0通过:1.1 Varnish连接:keep aliveX缓存:MISSfromwestoscache 1234567891011121314

第二次访问命中

[ root@server2~]#curl-I172.25.70.1HTTP/1.1200OKServer:Apache/2.2.15(RedHat)上次修改时间:2018年2月11日星期日04:18:24GMTETag:“40141-16-564e80d6fcbca”内容类型:text/html;charset=UTF-8内容长度:22接受范围:字节日期:太阳,2018年2月11日04:21:12GMTX-Varnish:359822169359822168年龄:117通过:1.1varnish连接:keep-aliveX缓存:HITFromwestoscache 123456789101112131415

5) 通过varnisadm手动清除缓存

varnishadban。Url。*$清除所有varnisadmban url/index。Html清除索引Html页面缓存varnishedban Url/admin/$clear admin目录缓存123

6) 配置多个后端服务器

[ root@server1~]#vim/etc/vnish/default.vcl1

为多个不同的域名站点定义后端服务器

后端web1{.host=“172.25.70.2”;.port=“80”;}后端web2{.host=“172.25.70.3”;.port=“80”;}12345678

访问域名www.server2.org时,从web1检索数据。访问域名www.sserver3.org时,数据从web2检索,

访问其他页面时报告错误。

subvcl_recv{if(req.http.host~“^(www)?server2.org”){set req.http.host=“www.server2.org”;set req.backend=web1;}elsif(req.http.host~“^www.server3.org”){set req.backend=web2;}否则{错误404;}}1234567891011

重新启动服务

[ root@server1~]#/etc/init。d/清漆重新启动1

7) 向测试主机添加域名解析

vim/etc/hosts17225.70.1服务器1ww.server2.orgww.server3.org12

8) 为server3安装Apache服务器并编辑默认发布页面

[ root@server3~]#yum安装httpd-y[root@server3~]#vim/var/www/html/index。html<;h1>;后端web2<;/h1>;[ root@server3~]#/etc/init。d/httpd启动1234

9) 在测试主机上

[ root@foundation700120]#curl www.server2.org<;h1>;后端web1<;/h1>;您在/var/spool/mail/skiosk中有新邮件[root@foundation700120]#curl www.server3.org<;h1>;后端web2<;/h1>;12345

如果您在浏览器上访问上述配置文件(/etc/varnish/default.vcl)中未指定的域名,将报告错误

以上条件表明测试成功

10) 运行状况检查和负载平衡

#定义健康检查探针healthcheck{.url=“/index.html”;#哪个url需要一个可变请求。interval=5s;#check interval.timeout=1s;#等待探针超时多长时间。window=5;#维护五个切片窗口的结果。threshold=3;#在至少三个窗口成功时声明后端健康状况}后端web1{.host=“172.25.70.2”;.port=“80”;. 探针=健康检查;}后端web2{.host=“172.25.70.3”;.port=“80”;.probe=healthcheck;}#将多个后端聚合到一个名为lb的组中。旋转模式为director-lb循环{{backend=web1;}{后端=web2;}}subvcl_Recv{if(req.http.host~“^(www)?Server2.org”){set req.http.host=“www.Server2.org”;set req.backend=lb;return(pass);#为了测试方便,不允许缓存否则{错误404;}}12345678910111213141516171819202122232425262728293031323334353637

重新启动

[ root@server1清漆]#/etc/init。d/清漆重新启动1

在测试机器上访问域名www.server2.org

[ root@foundation700120]#curl www.server2.org<;h1>;后端web1<;/h1>;[ root@foundation700120]#curl www.server2.org<;h1>;后端web2<;/h1>;1234

旋转模式生效,多个后端在lb group的控制下旋转

为了使效果更明显,请在服务器3上配置虚拟主机,以便在访问域名www.server2.org时,将访问服务器2上的默认发布文件,并以循环方式访问与服务器3上的域名www.server2.org对应的默认发布文件。然后,在访问域名www.server3.org时,访问服务器3上与域名www.server3.org对应的默认发布文件

[ root@server3~]#vim/etc/httpd/conf/httpd。conf 1

名称虚拟主机*:80<;虚拟主机*:80>;DocumentRoot/var/www/html/ServerNamewww.server3.org<;/虚拟主机>;&书信电报;虚拟主机*:80>;DocumentRoot/www/ServerNamewww.server2.org<;/虚拟主机>;1234567891011

为虚拟主机域名为www.server2.org的默认发布目录添加默认访问文件

[ root@server3~]#mkdir/www[root@server3~]#vim/www/索引。html<;h1>;后端web1-server3<;/h1>;[ root@server3~]#/etc/init。D/httpd restart#restart生效1234

测验

[ root@foundation700120]#curl www.server2.org<;h1>;后端web1<;/h1>;您在/var/spool/mail/skiosk中有新邮件[root@foundation700120]#curl www.server2.org<;h1>;后端web1-server3<;/h1>;[ root@foundation700120]#curl www.server3.org<;h1>;后端web2<;/h1>;123456789

测试结果正确!!!

© 版权声明
THE END
喜欢就支持一下吧
点赞14赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容