博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Varnish——CDN推送管理平台(web界面批量清除缓存)
阅读量:3922 次
发布时间:2019-05-23

本文共 2801 字,大约阅读时间需要 9 分钟。

CDN推送管理平台

  • CDN推送: 当后端服务器中的DNS有更新时,在varnish的缓存中应该及时同步后端服务中的内容
  • 配置过程:
  1. 在server1
  • 安装httpd,并编辑httpd配置文件
  • 将136行的端口号修改8080(因为我们的varnish服务已经占用了80端口,避免冲突)
  • 下载php(显示页面)
  • 下载unzip(解压安装包)
[root@server1 ~]# yum install httpd unzip php -y[root@server1 html]# vim /etc/httpd/conf/httpd.confListen 8080[root@server1 html]# /etc/init.d/httpd restart
  1. 将banzip安装包从物理机发送到server1,并在server1解压到/var/www/html(指定目录解压 -d)
  2. 将/var/www/html中的所有东西移到/var/www/html中
[root@server1 ~]# unzip bansys.zip -d /var/www/html[root@server1 ~]# cd /var/www/html[root@server1 html]# lsbansys[root@server1 html]# cd bansys/[root@server1 bansys]# lsclass_socket.php  config.php  index.php  purge_action.php  static[root@server1 bansys]# mv * ../[root@server1 bansys]# cd ..[root@server1 html]# lsbansys  class_socket.php  config.php  index.php  purge_action.php  static
  1. 编辑config.php
[root@server1 html]# vim /var/www/html/config.php  ##前面不用的可以删掉 < //varnish主机列表 //可定义多个主机列表 $var_group1 = array(                        'host' => array('172.25.64.1'), # 定义172.25.64.1为主机列表,端口为8080                                                'port' => '8080',                                                   );                                                                                         //varnish群组定义 //对主机列表进行绑定 $VAR_CLUSTER = array(                         'www.westos.org' => $var_group1,                     ); //varnish版本 //2.x和3.x推送命令不一样 $VAR_VERSION = "3";?>
  1. 编辑物理机的解析
[root@foundation64 ~]# cat /etc/hosts172.25.64.1 server1 www.westos.org bbs.westos.org172.25.64.3 server3
  1. 打开浏览器,浏览器中输入172.25.64.1:8080,出现CDN推送管理页面
    在这里插入图片描述
  2. 编写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.64.0"/24; ##允许172.25.64网段的所有主机访问 }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.64.2"; .port = "80";}backend web2 {
.host = "172.25.64.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
  1. 测试:
  • 第一次miss,则没有缓存到
    在这里插入图片描述
  • 第二次hit,缓存成功(后面一直是hit)
    在这里插入图片描述
  • CDN推送
    写入推送页面,点击确认提交

在这里插入图片描述

在这里插入图片描述

  • 再次测试,则为miss(表示缓存已经清除成功,否则还是hit)
    在这里插入图片描述

转载地址:http://wghrn.baihongyu.com/

你可能感兴趣的文章
Leetcode 29. 两数相除
查看>>
Leetcode 31. 下一个排列
查看>>
Leetcode 35. 搜索插入位置
查看>>
Leetcode 36. 有效的数独
查看>>
Leetcode 38. 外观数列
查看>>
Leetcode 45. 跳跃游戏 II
查看>>
模式2. 工厂方法模式-Java
查看>>
模式1. 简单工厂模式-Java
查看>>
模式6.原型模式-Java
查看>>
Leetcode 581. 最短无序连续子数组
查看>>
模式7. 模板方法模式--Java
查看>>
Leetcode 146. LRU 缓存机制
查看>>
Leetcode 208. 实现 Trie (前缀树)
查看>>
Leetcode 1114. 按序打印
查看>>
kill -15、kill -9 与 kill
查看>>
剑指offer03 . 数组中重复的数字
查看>>
剑指 Offer 04. 二维数组中的查找
查看>>
Leetcode 23. 合并K个升序链表
查看>>
剑指 Offer 05. 替换空格
查看>>
剑指 Offer 06. 从尾到头打印链表
查看>>