博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
varnish cdn 推送平台
阅读量:5771 次
发布时间:2019-06-18

本文共 3204 字,大约阅读时间需要 10 分钟。

实验环境:物理机(访问测试): willis.example.com  172.25.254.6

                 varnish缓存端:      server1.example.com  172.25.254.1

                负载均衡端1:        web1.example.com   172.25.254.10

                负载均衡端2:        web2.example.com   172.25.254.20

实验内容:1.解压安装包

                 2.配置数据库信息

                 3.安装varnish,http与php

                 4.配置varnish

                 5.访问端测试

                 6.cdn推送 

实验前提:负载均衡端已配置好虚拟主机

实验安装包:bansys.zip

                    varnish-3.0.5-1.el6.x86_64.rpm  

                    varnish-libs-3.0.5-1.el6.x86_64.rpm

1.解压安装包

[root@server1 mnt]# ls

bansys.zip

[root@server1 mnt]# unzip bansys.zip -d /usr/local/lnmp/

2.配置数据库信息

[root@server1 mnt]# vim /var/www/html/bansys/config.php #只保留如下设置,其余注释掉

<?php

 ///数据库信息/

 //数据库信息

# $host = "localhost";

# $user = "";

# $passwd = "";

# $dbname = "bansys";

# $conn = mysql_connect($host, $user, $passwd) or die('Unable to connect database...');

# mysql_select_db($dbname,$conn);

# $query = "select ResourceIP from purgeapp_resource";

# $results = mysql_query($query,$conn);

#

#  while ($row=mysql_fetch_row($results)) {

#         $varnish_host[] =  $row[0];

#   }

# #mysql_close($conn);

 //varnish主机列表

 //可定义多个主机列表

 $var_group1 = array(

                        'host' => array('172.25.254.1'),

                                                'port' => '6082',

                    );

//这个使用了mysql读取数据                                               

# $var_group3 = array(

#                        'host' => $varnish_host,

#                                               'port' => '6082',                               

#                    );                                          

 //varnish群组定义

 //对主机列表进行绑定

 $VAR_CLUSTER = array(

                         'www.willis.com' => $var_group1,

                     );

 //varnish版本

 //2.x和3.x推送命令不一样

 $VAR_VERSION = "3";

?>

                                    

3.安装varnish,http与php

[root@server1 mnt]# ls

    varnish-3.0.5-1.el6.x86_64.rpm  varnish-libs-3.0.5-1.el6.x86_64.rpm

[root@server1 mnt]# yum install * -y

[root@server1 mnt]# vim /etc/sysconfig/varnish 

    VARNISH_LISTEN_PORT=80 ##设定varnish的端口为80

[root@server1 mnt]# /etc/init.d/varnish start

[root@server1 html]# yum install php httpd -y

[root@server1 html]# vim /etc/httpd/conf/httpd.con

    136  Listen 8080  

    402  DirectoryIndex    index.php  index.html index.html.var

[root@server1 html]# mv bansys/  upindex

[root@server1 html]# /etc/init.d/httpd start

4.配置varnish

[root@server1 mnt]#vim /etc/varnish/default.vcl

backend web1 {

  .host = "172.25.254.20";

  .port = "80";

}

backend web2 {

   .host="172.25.254.10";

   .port="80";

}

director willislb round-robin {

        { .backend = web1; }

        { .backend = web2; }

}

sub vcl_deliver{

    if(obj.hits>0){

        set resp.http.X-Cache="HIT from willis cache";

        }

     else{

        set resp.http.X-Cache="MISS from willis cache";

        }

 return(deliver);

    }

acl upindex {

        "127.0.0.1";

         "172.25.254.0"/24;

}

sub vcl_recv {

  if (req.request == "BAN") {

        if (!client.ip ~ upindex) {

                error 405 "Not allowed.";

        }

        ban("req.url ~ " + req.url);

                error 200 "ban added";

        }

   if (req.http.host ~ "^(www.)?willis.com" ) {

        set req.http.host = "www.willis.com";

        set req.backend = willislb;

        #return(pass);          ###有缓存,用来测试缓存平台

        }

        elsif (req.http.host ~ "^(www.)?linux.com" ) {

        set req.http.host = "www.linux.com";

        set req.backend = willislb;

        return(pass);

        }

        else {error 404 "willis cache";

        }

}

5.访问端测试: 

[root@willis Desktop]# curl -I http://www.willis.com/index.html

    X-Cache: MISS from willis cache

[root@willis Desktop]# curl -I http://www.willis.com/index.html

    X-Cache: HIT from willis cache

[root@willis Desktop]# curl -I http://www.willis.com/index.html

    X-Cache: HIT from willis cache

6.cdn推送:






推送完之后测试:

[root@willis Desktop]# curl -I http://www.willis.com/index.html

    X-Cache: MISS from willis cache

本文转自willis_sun 51CTO博客,原文链接:http://blog.51cto.com/willis/1853589,如需转载请自行联系原作者

你可能感兴趣的文章
IEEE802.11数据帧在Linux上的抓取
查看>>
数据加密和CA的创建
查看>>
使用if语句编写Shell脚本
查看>>
ELK实战之logstash部署及基本语法
查看>>
帧中继环境下ospf的使用(点到点模式)
查看>>
BeanShell变量和方法的作用域
查看>>
LINUX下防恶意扫描软件PortSentry
查看>>
由数据库对sql的执行说JDBC的Statement和PreparedStatement
查看>>
如何使用SMTPDiag 工具
查看>>
springmvc+swagger2
查看>>
软件评测-信息安全-应用安全-资源控制-用户登录限制(上)
查看>>
cacti集成
查看>>
linux后台运行&符号、nohup命令、输出重定向等使用方法
查看>>
Android中的Cursor
查看>>
我的友情链接
查看>>
打造一台称手的工作站-配置Ubuntu
查看>>
Java Web Application 自架构 一 注解化配置
查看>>
如何 debug Proxy.pac文件
查看>>
Python 学习笔记 - 面向对象(特殊成员)
查看>>
Kubernetes 1.11 手动安装并启用ipvs
查看>>