Varnish——CDN推送平台管理(web界面批量清除缓存)
官网下载安装包bansys.zip
1.安装php httpd unzip 软件
[[email protected] ~]# yum install -y php
[[email protected] ~]# yum install -y httpd
[[email protected] ~]# yum install unzip -y
注意:如果不安装unzip的话无法解压安装包
2.解压推送平台的安装包到httpd的默认发布目录下
[[email protected] ~]# ls
bansys.zip varnish-3.0.5-1.el6.x86_64.rpm varnish-libs-3.0.5-1.el6.x86_64.rpm
[[email protected] ~]# unzip bansys.zip -d /var/www/html #将安装包解压到http默认发布目录下
[[email protected] ~]# cd /var/www/html
[[email protected] html]# ls
bansys
[[email protected] html]# cd bansys/ ##可以看到解压出的目录中的文件都是php文件
[[email protected] bansys]# ls
class_socket.php config.php index.php purge_action.php static
[[email protected] bansys]# mv * ../
##将目录中的所有文件移动到上一层目录也就是/var/www/html中,
因为浏览器中访问的是httpd的默认发布目录,如果不将文件移出来的话
在浏览器中就要加上目录名
[[email protected] bansys]# ls
[[email protected] bansys]# cd ..
[[email protected] html]# ls
bansys class_socket.php config.php index.php purge_action.php static
[[email protected] html]# rm -fr bansys/ ##删除原来的目录
[[email protected] html]# ls
class_socket.php config.php index.php purge_action.php static
注意:这时解压出来的时一个目录,我们为了访问的时候方便将目录中的文件移动到/var/www/html下,并且删除原来的bansys目录,如果在这里不做这一步的话在后面访问的时候就需要在ip后加上目录名
3.编辑config.php文件,将文件中不需要的东西删除,将ip改为server1的ip,域名改为 www.westos.org
[[email protected] html]# vim config.php
config.php文件中的内容
<?php
//varnish主机列表
//可定义多个主机列表
$var_group1 = array(
'host' => array('172.25.22.1'),
'port' => '8080',
);
//varnish群组定义
//对主机列表进行绑定
$VAR_CLUSTER = array(
'www.westos.org' => $var_group1,
);
//varnish版本
//2.x和3.x推送命令不一样
$VAR_VERSION = "3";
?>
注意:这里定义的主机列表中有端口的设置,这个端口时httpd的端口,默认是80,但是我们的80端口已经被varnish占用,所以现在让httpd使用8080端口
4.修改httpd的默认端口,开启服务,查看端口是否开启
[[email protected] html]# vim /etc/httpd/conf/httpd.conf
[[email protected] html]# /etc/init.d/httpd start
Starting httpd: httpd: Could not reliably determine the server's fully
qualified domain name,
using 172.25.22.1 for ServerName
[ OK ]
[[email protected] html]# netstat -tnlp
5.打开浏览器测试是否能访问
172.25.22.1:8080
6.编辑varnish的默认配置文件,添加访问控制(那个网段的ip可以访问),编辑完后reload服务
[[email protected] html]# cd /etc/varnish/
[[email protected] varnish]# ls
default.vcl secret
[[email protected] varnish]# vim default.vcl
[[email protected] varnish]# /etc/init.d/varnish reload
文件中添加的内容如下:
acl westos {
#设置访问控制
"127.0.0.1";
"172.25.22.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";
}
}
注意: 上一实验中为了测试效果没有保留缓存,在这一实验中将return(pass);注释掉,让varnish缓存
7.利用推送平台管理之前可以看到访问都是HIT从缓存中访问
8.在推送平台中清除所有缓存
.*$
再次访问出现MISS,之后的又都变成HIT
9.访问 www.westos.org/index.html 第一次是MISS状态,之后的都是HIT
10.在推送管理平台清除index.html的缓存
/index.html
再次访问时出现MISS,在这之后的都是HIT