varnish cdn 推送平台
虚拟机IP:172.25.6.1(服务器)
yum install -y php httpd
unzip bansys.zip
mv bansys/* /var/www/html
vim /var/www/html/config.php
<?php
//varnish主机列表
//可定义多个主机列表
$var_group1 = array(
'host' => array('172.25.6.1'),
'port' => '80',
);
//varnish群组定义
//对主机列表进行绑定
$VAR_CLUSTER = array(
'www.dream.com' => $var_group1,
);
//varnish版本
//2.x和3.x推送命令不一样
$VAR_VERSION = "3";
?>
vim /etc/httpd/conf/httpd.conf
#Listen 12.34.56.78:80
Listen 8080
vim /etc/varnish/default.vcl
acl westos {
"127.0.0.1";
"10.10.10.0"/24;
}
backend web1 {
.host = "10.10.10.2";
.port = "80";
}
backend web2 {
.host = "10.10.10.3";
.port = "80";
}
director lb round-robin {
{ .backend = web1; }
{ .backend = web2; }
}
sub vcl_recv {
if (req.request == "BAN") {
if (!client.ip ~ westos) {
error 405 "Not allowed.";
}
ban("req.url ~ " + req.url);
error 200 "ban added";
}
if (req.http.host ~ "^(www.)?westos.org") {
set req.http.host = "www.westos.org";
set req.backend = lb;
} elsif (req.http.host ~ "^bbs.westos.org") {
set req.backend = web2;
} else {
error 404 "dream cache";
}
}
sub vcl_deliver {
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT cache";
}
else {
set resp.http.X-Cache = "MISS cache";
}
return(deliver);
}
/etc/init.d/varnish restart
/etc/init.d/httpd restart
/etc/init.d/varnish reload
测试:
在浏览器中访问: 172.25.6.1:8080
在推送内容中输入要清除缓存的页面
选择 HTTP
/index.html 然后确认提交
之前页面的缓存将被清除