Varnish-CDN推送管理平台(web界面批量清除缓存)

本文详细介绍如何在server1上安装并配置HTTPD服务,通过修改端口避免与Varnish服务冲突,部署CDN推送管理界面,实现对Varnish缓存的动态更新与管理。包括安装必要的软件包、配置httpd服务、部署管理界面、编辑配置文件及添加解析,最终实现在特定条件下清除缓存的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CDN推送管理平台
配置server1:

1.安装httpd,编辑主配置文件,将端口改为8080(避免与varnish服务的80端口冲突)
2.下载php(显示界面)和unzip(解压安装包)

[root@server1 ~]# yum install httpd unzip php -y
[root@server1 ~]# vim /etc/httpd/conf/httpd.conf 
Listen 8080
[root@server1 ~]# /etc/init.d/httpd restart

在这里插入图片描述
在这里插入图片描述
3.将bansys.zip安装包从真机上发送到server1,并解压到/var/www/html目录下,解压完后将/var/www/html/bansys/目录下所有东西移动到/var/www/html目录下

[root@server1 mnt]# unzip bansys.zip -d /var/www/html/    ##指定目录解压:-d
[root@server1 mnt]# cd /var/www/html/
[root@server1 html]# ls
bansys
[root@server1 html]# cd bansys/
[root@server1 bansys]# ls
class_socket.php  config.php  index.php  purge_action.php  static
[root@server1 bansys]# mv * ../
[root@server1 bansys]# cd ..
[root@server1 html]# ls
bansys  class_socket.php  config.php  index.php  purge_action.php  static

在这里插入图片描述
在这里插入图片描述
4.编辑config.php文件

[root@server1 html]# vim config.php     ##删除没用的内容,并加以修改后内容如下
<?php

 //varnish主机列表
 //可定义多个主机列表
 $var_group1 = array(
                        'host' => array('172.25.4.1'),
                                                'port' => '8080',                
                    );



 //varnish群组定义
 //对主机列表进行绑定
 $VAR_CLUSTER = array(
                         'www.westos.org' => $var_group1,
                     );
 //varnish版本
 //2.x和3.x推送命令不一样
 $VAR_VERSION = "3";

?>

在这里插入图片描述
5.给真机添加解析:vim /etc/hosts
在这里插入图片描述
6.打开火湖浏览器,输入172.25.4.1:8080(出现CDN推送管理界面)
在这里插入图片描述
7.编辑varnish默认配置文件,添加内容如下,修改完配置文件要重新加载配置文件

[root@server1 html]# vim /etc/varnish/default.vcl
acl westos{
"127.0.0.1";
"172.25.4.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.4.2";
  .port = "80";
}

backend web2 {
  .host = "172.25.4.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 westos cache";
}
else {
set resp.http.X-Cache = "MISS from westos cache";
}
return (deliver);
}
[root@server1 html]# /etc/init.d/varnish reload   ##重新加载配置文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试(真机上curl -I www.westos. org):
  1. 第一次为MISS,没有缓存到
    在这里插入图片描述
  2. 第二次访问时则为HIT,说明缓存到了
    在这里插入图片描述
  3. CDN推送,写入清除缓存的推送内容
    在这里插入图片描述
    在这里插入图片描述
  4. 再次访问则又为MISS,说明缓存清除成功,推送成功
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值