Varnish部署cdn节点集群

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.浏览器打开相关连接,进行数据推送,没推送一次,相当与更性一次数据

在这里插入图片描述

版权声明:本文为weixin_43189623原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43189623/article/details/87795161

智能推荐

varnish搭建cdn网络

CDN分发网络 CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服...

CDN加速之varnish

一、部署单个后端服务器的varnish过程 1、编辑varnish文件 2、编辑varnish用户的限制文件 3、建立虚拟机2的http默认发布文件 4、编辑varnish的默认文件 5、打开服务、刷新服务 6、浏览器输入172.25.10.1检验 7、测试缓存命中 二、具有多台后端服务器的varnish 1、创建默认发布目录 2、修改varnish默认文件 3、真机访问检测 三、varnish后...

CDN实现varnish缓存

实验环境: server5:varnish机(ip:172.25.254.5) server2:real server机(ip:172.25.254.2) server3:real server机(ip:172.25.254.3) server5配置 一、安装varnish相关软件 二、修改varnish配置文件 vim /etc/sysconfig/varnish 修改varnish的端口 vi...

varnish搭建cdn网络

一、简介 CDN的全称是Content Delivery Network,其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定. 二、用varnish实现cdn Web Cache更是节约服务器资源的关键。而最近几年由FreeBSD创始人之一Kamp开发的varnish更是一个不可多得的Web Cache Server。严格意义上说,Varnish是一...

Varnish搭建CDN

一、Varnish简介 1、Varnish的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,还包括了CPU内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此Squid Cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作...

猜你喜欢

cdn_varnish

下载安装 安装varnish需要两个包,一个是安装包一个是他的库文件,如下: varnish-3.0.5-1.el6.x86_64.rpm varnish-libs-3.0.5-1.el6.x86_64.rpm 开启varnish /etc/init.d/varnish start 修改访问端口 建议修改为80端口,这样浏览器就可以直接访问 配置文件在 vim /etc/sysconfig/var...

linux CDN varnish

配置varnish (1)在server1中安装varnish (2)修改varnish监听端口为80 (3)查看内核允许打开文件的最大数 查看varnish能打开的最大文件数 增大内存可以增加打开文件最大数 4)设置主机安全限制 5)设置varnish 默认文件 ##修改varnish监听的网络服务器的ip 6)在 172.25.38.2中安装apache ##server2作为网络服务器 设置...

varnish代理-cdn加速

Varnish简介 Varnish是高性能且开源的反向代理服务器和HTTP加速器(cache server)。其开发者Poul-Henning Kamp是FreeBSD核心的开发人员之一。Varnish采用全新的软件体系结构,和现在的硬件体系配合比较紧密。 当前计算机系统的内存除了主存外,还包括CPU的L1级缓存、L2级缓存,甚至还包括L3级缓存。硬盘也有缓存,而Squid的架构导致其无法做到最佳...

CDN加速的实现——varnish

CDN的全称——Content Delivery Network,即内容分发网络。 其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离...

varnish部署

CDN简介 CDN(Content Delivery Network)是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需 内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。 CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问...


http://www.vxiaotou.com