CDN推送管理平台
配置server1:
1.安装httpd,编辑主配置文件,将端口改为8080(避免与varnish服务的80端口冲突)
2.下载php(显示界面)和unzip(解压安装包)
[root@server1 ~]# yum install httpd unzip php -y
[root@server1 ~]# vim /etc/httpd/conf/httpd.conf
Listen 8080
[root@server1 ~]# /etc/init.d/httpd restart
3.将bansys.zip安装包从真机上发送到server1,并解压到/var/www/html目录下,解压完后将/var/www/html/bansys/目录下所有东西移动到/var/www/html目录下
[root@server1 mnt]# unzip bansys.zip -d /var/www/html/ ##指定目录解压:-d
[root@server1 mnt]# cd /var/www/html/
[root@server1 html]# ls
bansys
[root@server1 html]# cd bansys/
[root@server1 bansys]# ls
class_socket.php config.php index.php purge_action.php static
[root@server1 bansys]# mv * ../
[root@server1 bansys]# cd ..
[root@server1 html]# ls
bansys class_socket.php config.php index.php purge_action.php static
4.编辑config.php文件
[root@server1 html]# vim config.php ##删除没用的内容,并加以修改后内容如下
<?php
//varnish主机列表
//可定义多个主机列表
$var_group1 = array(
'host' => array('172.25.4.1'),
'port' => '8080',
);
//varnish群组定义
//对主机列表进行绑定
$VAR_CLUSTER = array(
'www.westos.org' => $var_group1,
);
//varnish版本
//2.x和3.x推送命令不一样
$VAR_VERSION = "3";
?>
5.给真机添加解析:vim /etc/hosts
6.打开火湖浏览器,输入172.25.4.1:8080(出现CDN推送管理界面)
7.编辑varnish默认配置文件,添加内容如下,修改完配置文件要重新加载配置文件
[root@server1 html]# vim /etc/varnish/default.vcl
acl westos{
"127.0.0.1";
"172.25.4.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";
}
}
backend web1 {
.host = "172.25.4.2";
.port = "80";
}
backend web2 {
.host = "172.25.4.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 ##重新加载配置文件
测试(真机上curl -I www.westos. org):
- 第一次为MISS,没有缓存到
- 第二次访问时则为HIT,说明缓存到了
- CDN推送,写入清除缓存的推送内容
- 再次访问则又为MISS,说明缓存清除成功,推送成功