CDN广播实现清缓存

版权声明:皆为本人原创,复制必究 https://blog.csdn.net/m493096871/article/details/86632079

实现广播清缓存
#############server1中#########
需要yum install php http unzip

在http中定义多个虚拟主机
/etc/httpd/conf/http.conf
NameVirtualHost *:80


Listen 8080
因为缓存server2  3的varnishi 用了80端口
unzip bansys.zip  
cd bansys
mv * /var/www/html/
/etc/init.d/httpd start


vim /etc/varnish/default.vcl


acl westos {
"127.0.0.1";
"172.25.11.0"/24;
}

sub vcl_recv {
        if (req.request == "BAN") {
                if (!client.ip ~ westos) {
                error 405 "Not Allowed.";
                }
        ban ("req.url ~"+req.url);
                error 200 "ban added";
        }
}

backend web1 {
  .host = "172.25.11.2";
  .port = "80";
}
backend web2 {
  .host = "172.25.11.3";
  .port = "80";
}

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

sub vcl_recv {
   if (req.http.host ~ "^(www.)?westos.org") {
        set req.http.host = "www.westos.org";
        set req.backend = lb;
                #return (pass);   #为了测试加入的,实际上删掉
} elsif (req.http.host ~ "^bbs.westos.org") {
        set req.backend = web2;
}       else{
        error 404 "westos cache";}
}
sub vcl_deliver{
if(obj.hits>0){
set resp.http.X-Cache = "HIT from HZP cache";
}
else{
set  resp.http.X-Cache="MISS from HZP cache";
}
return (deliver);
}

vim /var/www/html/config.php
删掉下面以上的所有内容 除了开头
 //varnish主机列表
 //可定义多个主机列表
 $var_group1 = array(
                        'host' => array('172.25.11.1'),
                                                'port' => '8080',                               
                    );
                                                

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


###########server3
vim /etc/httpd/conf/httpd.conf
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /www
ServerName www.westos.org
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /bbs
ServerName bbs.westos.org
</VirtualHost>
写好各自index.html

mv A ../  移动到上一目录  


真机访问  172.25.11.1:8080
在里面写 .*     或者  /index.html 推送
实现清除CDN缓存

acl westos {
"127.0.0.1";
"172.25.11.0"/24;
}

sub vcl_recv {
    if(req.request == "BAN") {
       if (!client.ip ~ westos) {
           error 405 "Not allowed";
        }
    ban("req.url ~ " + req.url);
        error 200 "ban added";
    }
}

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

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


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


sub vcl_recv {
    if (req.http.host ~ "(www.)?westos.org") {
        set req.http.host = "www.westos.org";
        set req.backend  = lb;
            } elsif (req.http.host ~ "bbs.westos.org") {
                    set req.backend = web2;
                        } else {
                               error 404 "westos cache";
                                   }
                                   }

sub vcl_deliver{
if(obj.hits>0){
set resp.http.X-Cache = "HIT from HZP cache";
}
else{
set  resp.http.X-Cache="MISS from HZP cache";
}
return (deliver);
}


其中有个错误

##################对的
#sub vcl_recv {
#    if(req.request == "BAN") {
#       if (!client.ip ~ westos) {
#           error 405 "Not allowed";
#        }
#    ban("req.url ~ " + req.url);
#        error 200 "ban added";
#    }  #对
#}


##################错的
#sub vcl_recv {
#     if(req.request == "BAN") {
#       if(!client.ip ~ westos) {
#           error 405 "Not Allowed";
#            }  #erroe
#
#        ban("req.url ~"+req.url);
#                error 200 "ban added";
#        }
#}

#########修改  写到一起  vcl_recv

sub vcl_recv {
 if(req.request == "BAN") {
       if(!client.ip ~ westos) {
           error 405 "Not Allowed";
            }

        ban("req.url ~"+req.url);
                error 200 "ban added";
        }

   if(req.http.host ~ "^(www.)?westos.org") {
        set req.http.host = "www.westos.org";
        set req.backend = lb;
}
elsif(req.http.host ~ "^bbs.westos.org") {
        set req.backend = web2;
}       else{
        error 404 "westos cache";
}
}


 

猜你喜欢

转载自blog.csdn.net/m493096871/article/details/86632079
今日推荐