运维企业实战——varnish推送平台的搭建
1、在varnish服务器上安装所需软件
yum install httpd php unzip -y
2、将平台资源解压到默认发布目录
unzip bansys.zip -d /var/www/html/
3、
mv /var/www/html/bansys/* /var/www/html/
4、更改http的端口为8080(之前varnish用了80端口)
vim /etc/httpd/conf/httpd.conf
5、更改推送平台的配置文件
vim /var/www/html/config.php
<?php
//varnish主机列表
//可定义多个主机列表
$var_group1 = array(
'host' => array('172.25.32.1'),
'port' => '8080',
);
//varnish群组定义
//对主机列表进行绑定
$VAR_CLUSTER = array(
'www.westos.org' => $var_group1,
);
//2.x和3.x推送命令不一样
$VAR_VERSION = "3";
?>
6、更改varnish的配置文件
vim /etc/varnish/default.vcl
acl westos {
"127.0.0.1";
"172.25.75.0"/24;
}
backend web1 {
.host = "172.25.75.2";
.port = "80";
}
backend web2 {
.host = "172.25.75.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";
}
}
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 "error";
}
}
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);
}
7、重新加载varnish配置文件,启动httpd服务
/etc/init.d/varnish reload
/etc/init.d/httpd start
测试
打开firefox:http://172.25.60.1:8080/