CDN推送管理
[root@server1 ~]# yum install httpd unzip php -y
[root@server1 html]# scp -r root@172.25.55.250:'/home/kiosk/Desktop/python10and 企业/bansys.zip' .
[root@server1 html]# ls
bansys.zip
[root@server1 html]# unzip bansys.zip
[root@server1 html]# ls
bansys bansys.zip
[root@server1 html]# rm -fr *.zip
[root@server1 html]# ls
bansys
[root@server1 html]# vim /etc/httpd/conf/httpd.conf
135 #Listen 12.34.56.78:80
136 Listen 8080
[root@server1 html]# /etc/init.d/httpd restart
[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
[root@server1 html]# vim /var/www/html/config.php (删除其余内容,否则,群组显示有问题)
//varnish主机列表
//可定义多个主机列表
$var_group1 = array(
'host' => array('172.25.55.1'),
'port' => '8080',
);
//varnish群组定义
//对主机列表进行绑定
$VAR_CLUSTER = array(
'www.westos.org' => $var_group1,
);
//varnish版本
//2.x和3.x推送命令不一样
$VAR_VERSION = "3";
[root@foundation55 ~]# vim /etc/hosts
172.25.55.1 server1 ww.westos.org bbs.westos.org
172.25.55.3 server3
bansys 有两种工作模式,分别是:telnet 和 http 模式。
telnet 模式需要关闭 varnish 服务管理端口的验证,注释掉/etc/sysconfig/varnish 文件中的 “ -S ${VARNISH_SECRET_FILE}”这行,重启 varnish 服务即可。
如果是 http 模式需要对 varnish 做以下设置:
[root@server1 html]# vim /etc/varnish/default.vcl
acl westos {
"127.0.0.1";
"172.25.55.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.55.2";
.port = "80";
}
backend web2 {
.host = "172.25.55.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