企业CDN缓存系统varnish(三)-----图形化清理varnish代理服务器的缓存

小咪咪 2023-06-08 06:38 38阅读 0赞

之前为命令清理缓存,本次为cdn推送平台清理缓存,当后端服务器有更新时,在varnish缓存器中应该及时同步,即就是清空varnish中的缓存,当下次访问时直接从服务器中获取新的内容。

一、CDN推送平台的搭建

在server1:
1.安装软件

  1. yum install -y unzip php httpd
  2. ##修改httpd端口为8080并启动(varnish已经占用80)

在这里插入图片描述

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

2.解压安装包到指定目录

  1. unzip bansys.zip -d /var/www/html

在这里插入图片描述

3.移动解压目录到httpd默认发布目录下
mv /var/www/html/bansys/* /var/www/html
在这里插入图片描述

4.修改php默认配置文件:
修改监听端口为8080,维护cdn群组为www.westos.org:

  1. <?php
  2. //varnish主机列表
  3. //可定义多个主机列表
  4. $var_group1 = array(
  5. 'host' => array('172.25.0.1'),
  6. 'port' => '8080',
  7. );
  8. //varnish群组定义
  9. //对主机列表进行绑定
  10. $VAR_CLUSTER = array(
  11. 'www.westos.org' => $var_group1,
  12. );
  13. //varnish版本
  14. //2.x和3.x推送命令不一样
  15. $VAR_VERSION = "3";
  16. ?>

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

5.修改httpd监听端口为8080
因为之前80端口被varnish占用

  1. vim /etc/httpd/conf/httpd.conf

在这里插入图片描述
在这里插入图片描述
重启服务。
在这里插入图片描述

在浏览器:
搜索172.25.68.1:8080可以看到cdn推送平台页面:
有telnet和http两种,选择http:
在这里插入图片描述
可以看到之前设置的cdn群组,说明推送完成。
6.修改代理服务器配置:

  1. vim /etc/varnish/default.vcl
  2. acl westos {
  3. "127.0.0.1";
  4. "172.25.68.0"/24; #指定0网段的可以推送
  5. }
  6. }
  7. if (req.method == "BAN") {
  8. if (!client.ip ~ westos) {
  9. return(synth(405,"Purging not allowed for " + client.ip));
  10. }
  11. ban("req.url ~ " + req.url);
  12. return(purge);
  13. }
  14. systemctl restart varnish

在这里插入图片描述

必须注释掉return(pass)否则每次访问都会清除缓存
定义可以推送的网段:
在这里插入图片描述

定义清除缓存配置:
在这里插入图片描述
设置命中提示:
在这里插入图片描述

在真机端测试:
发现第一次缓存未命中,第二次命中:
在这里插入图片描述
利用页面清理缓存
在这里插入图片描述
在这里插入图片描述
发现第一次缓存未命中,之后命中,说明缓存清理成功,第一次为获取新的内容:
在这里插入图片描述

7.清理指定页面缓存:
搜索www.westos.org下的index.html页面发现第一次缓存未命中,第二次命中:
在这里插入图片描述
利用页面清理index.html缓存:
在这里插入图片描述

在这里插入图片描述
再次搜索发现第一次未命中,第二次命中:
在这里插入图片描述
说明页面清理缓存成功。

发表评论

表情:
评论列表 (有 0 条评论,38人围观)

还没有评论,来说两句吧...

相关阅读