运维企业实战——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/
运维企业实战——varnish推送平台的搭建
运维企业实战——varnish推送平台的搭建