Varnish部署cdn节点集群

本文详细介绍了如何部署Varnish作为CDN节点集群,包括实验环境设定、Varnish的安装与配置、缓存命中状况检查、多层代理设置、负载均衡配置以及CDN推送管理。通过在多台虚拟机上模拟Apache服务器,演示了Varnish如何实现高效的内容分发和负载均衡。
摘要由CSDN通过智能技术生成

varnish配置过程

实验环境:

三台虚拟机 server1(172.25.7.1)作为varnish主机,server2(172.25.7.2)与server3(172.25.7.3)均为apache主机

varnish 的安装部署

varnish主机上:
1.获取varnish安装包并下载安装包在这里插入图片描述
配置文件:

/etc/varnish/default.vcl —— varnish主配置文件
/etc/sysconfig/varnish ——varnish全局配置文件

2.修改varnish的监听端口

vim /etc/sysconfig/varnish

在这里插入图片描述
3.修改varnish配置文件

vim default.vcl :
backend default {
  .host = "172.25.60.2";
  .port = "80";
}

在这里插入图片描述
4.开启服务
在这里插入图片描述
server2上:
5.下载apache服务并编写测试页面
在这里插入图片描述
6.客户端进行测试
在这里插入图片描述

varnish查看缓存命中状况

varnish主机上:
1.修改配置文件,增加提示内容

vim default.vcl
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);
}

在这里插入图片描述
2.重启服务
在这里插入图片描述
3.客户端进行测试
在这里插入图片描述
在这里插入图片描述

varnishadm ban.url $.*   #清除所有缓存
varnishadm ban.url /index.html #只清除该文件缓存
cdn多层代理

1.apache主机开启服务
varnish主机上
2.修改配置文件

vim /etc/varnish/default.vcl 
backend web1 {
  .host = "172.25.60.1";
  .port = "8080";
}
backend web2 {
  .host = "172.25.60.2";
  .port = "80";
}

sub vcl_recv {
if (req.http.host ~ "^(www.)?server2.com") {
set req.http.host = "www.server2.com";
set req.backend = web1;
} elsif (req.http.host ~ "^www.server3.com") {
set req.backend = web2;
} else {error 404 "no cache";
}
}

真实主机上
3.修改相关解析进行测试
在这里插入图片描述
在这里插入图片描述

cdn的负载均衡配置

varnish主机上
1.修改配置文件

vim default.vcl 
director lb round-robin{
{ .backend = web1; }
{ .backend = web2; }
}

sub vcl_recv {
if (req.http.host ~ "^(www.)?server2.com") {
set req.http.host = "www.server2.com";
set req.backend = lb;
return (pass);  #直接从服务器提取数据
} elsif (req.http.host ~ "^www.server3.com") {
set req.backend = web2;
} else {error 404 "no cache";
}
}

2.重启varnish服务
3.主机上进行测试
在这里插入图片描述

cdn推送管理

varnish主机上
1.安装httpd服务,并将端口改为8080不与varnish冲突
2.安装相关服务

[root@server1 www]# yum install php -y #该软件是使用php语言写的,所以要安装php
[root@server1 www]# yum install unzip -y

3.解压安装包,并修改推送管理配置文件


[root@server1 html]# ls
index.html  bansys.zip
[root@server1 html]# unzip bansys.zip

[root@server1 html]# ls
index.html  bansys.zip bansys
[root@server1 html]# mv bansys varnish

[root@server1 html]# cd varnish/
[root@server1 varnish]# vim config.php 
<?php

 //可定义多个主机列表
 $var_group1 = array(
                        'host' => array('172.25.7.1'),
                                                'port' => '80',                
                    );

 //对主机列表进行绑定
 $VAR_CLUSTER = array(
                         'www.westos.com' => $var_group1,
                     );


 //varnish版本
 //2.x和3.x推送命令不一样
 $VAR_VERSION = "3";

?>

4.修改varnish配置文件

vim /etc/varnish/default.vcl
去掉return(passwd)
acl westos {
"127.0.0.1";
"172.25.60.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";
}
}

客户端上
5.浏览器打开相关连接,进行数据推送,没推送一次,相当与更性一次数据

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值