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

本文详细介绍了如何配置CDN推送管理平台,通过实例演示了在Varnish缓存环境下,实现DNS更新后的内容同步过程。包括httpd安装与配置、php与unzip下载、推送页面展示、Varnish配置调整及测试步骤。

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

接上一篇文章

CDN推送管理平台

  • CDN推送: 当后端服务器中的DNS有更新时,在varnish的缓存中应该及时同步后端服务中的内容
    配置过程:

1.在server1

  • 安装httpd,并编辑httpd配置文件
  • 将136行的端口号修改8080(因为我们的varnish服务已经占用了80端口,避免冲突)
  • 下载php(显示页面)
  • 下载unzip(解压安装包
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    2.将banzip安装包从物理机发送到server1,并在server1解压到/var/www/html(指定目录解压 -d)
    在这里插入图片描述
    3.编辑config.php
    在这里插入图片描述
    在这里插入图片描述
    4.将/var/www/html中的所有东西移到/var/www/html中
    在这里插入图片描述
    5.编辑物理机的解析
[root@foundation5 ~]# cat /etc/hosts
172.25.5.1 server1 www.westos.org bbs.westos.org
172.25.5.3 server

6.打开浏览器,浏览器中输入172.25.5.1:8080,出现CDN推送管理页面
在这里插入图片描述
7.编写varnish的默认文件vim /etc/varnish/default.vcl
添加
在这里插入图片描述

[root@server1 html]#  vim /etc/varnish/default.vcl
#设置访问控制,即白名单,允许本机和172.25.64网段和推送
acl westos{
    "127.0.0.1";  ##允许本机访问
    "172.25.5.0"/24;  ##允许172.25.5网段的所有主机访问
    }
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.5.2";
  .port = "80";
}

backend web2 {
  .host = "172.25.5.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);
}

8.测试

  • 第一次miss,则没有缓存到
  • 第二次hit,缓存成功(后面一直是hit)
    在这里插入图片描述
  • CDN推送
    写入推送页面,点击确认提交
    在这里插入图片描述
    在这里插入图片描述
  • 再次测试,则为miss(表示缓存已经清除成功,否则还是hit)
    在这里插入图片描述
内容概要:本文档详细介绍了基于事件触发扩展状态观测器(ESO)的分布式非线性车辆队列控制系统的实现。该系统由N+1辆车组成(1个领头车和N个跟随车),每辆车具有非线性动力学模型,考虑了空气阻力、滚动阻力等非线性因素及参数不确定性和外部扰动。通过事件触发ESO估计总扰动,基于动态面控制方法设计分布式控制律,并引入事件触发机制以减少通信和计算负担。系统还包含仿真主循环、结果可视化等功能模块。该实现严格遵循论文所述方法,验证了观测误差有界性、间距误差收敛性等核心结论。 适合人群:具备一定编程基础,对非线性系统控制、事件触发机制、扩展状态观测器等有一定了解的研发人员和研究人员。 使用场景及目标:①研究分布式非线性车辆队列控制系统的理论与实现;②理解事件触发机制如何减少通信和计算负担;③掌握扩展状态观测器在非线性系统中的应用;④学习动态面控制方法的设计与实现。 其他说明:本文档不仅提供了详细的代码实现,还对每个模块进行了深入解析,包括非线性建模优势、ESO核心优势、动态面控制与传统反步法对比、事件触发机制优化等方面。此外,文档还实现了论文中的稳定性分析,通过数值仿真验证了论文的核心结论,确保了系统的稳定性和有效性。建议读者在学习过程中结合代码进行实践,并关注各个模块之间的联系与相互作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值