CDN推送

CDN推送:当后端服务器中的DNS有更新时,在varnish的缓存中应该及时同步后端服务中的内容
1..在server1安装httpd服务并编辑httpd配置文件,将136行的端口号修改8080(因为我们的varnish服务已经占用了80端口,避免冲突)
2.安装php(显示页面)
3.将banzip从物理机发送到server1,并在server1解压到/var/www/html(指定目录解压 -d)
5.将/var/www/html中的所有东西移到/var/www/html中
6.编辑config.php

vim config.php
  <?php

 //可定义多个主机列表
 $var_group1 = array(
                        'host' => array('172.25.1.1'),              # 定义172.25.1.1为主机列表,端口为80
                                                'port' => '80', # varnish主机                     
                    );


 //varnish群组定义
 //对主机列表进行绑定
 $VAR_CLUSTER = array(
                         'www.westos.org' => $var_group1,    # 绑定172.25.1.1主机
                     );


 //varnish版本
 //2.x和3.x推送命令不一样
 $VAR_VERSION = "3";    # varnish的版本为3

?>

7.在server1中打开httpd服务,在浏览器中输入172.25.1.1:8080,出现CDN推送管理页面
这里写图片描述
8.编写varnish的默认文件vim /etc/varnish/default.vcl

acl westos {  
#设置访问控制,即白名单,允许本机和172.25.1网段和推送
"127.0.0.1";   #本机ip
"172.25.1.0"/24;   #24是子网掩码
}


backend web1 {
  .host = "172.25.1.2";
  .port = "80";
}

backend web2 {
  .host = "172.25.1.3";
  .port = "80";
}

director westos round-robin {
{ .backend = web1; }
{ .backend = web2; }
}

sub vcl_recv {

if (req.request == "BAN") {   # 如果采用推送方式是BAN
if (!client.ip ~ westos) {    # 如果客户端的IP不是westos
error 405 "Not allowed.";
}
ban("req.url ~ " + req.url);
error 200 "ban added";
}

8.重新加载服务
/etc/init.d/varnish reload
9.在浏览器处推送内容,修改varnish主机server1中的缓存(选择HTTP方式)
这里写图片描述
10.这时我们回到物理机,查看访问情况,TTL时间未到,但是因为推送的原因,访问已经发生了变化
这里写图片描述

猜你喜欢

转载自blog.csdn.net/jay_youth/article/details/81276337
cdn
今日推荐