企业级CDN加速方法--Varnish

一.配置varnish服务器(支持单个后端服务器)

1.安装
在官网下载varnish-libs-3.0.5-1.el6.x86_64.rpm和varnish-3.0.5-1.el6.x86_64.rpm

rpm -ivh varnish-libs-3.0.5-1.el6.x86_64.rpm
yum install varnish-3.0.5-1.el6.x86_64.rpm 

在这里插入图片描述
2.配置varnish服务器

rpm -qc varnish-3.0.5-1.el6.x86_64      ##查看varnish配置文件

在这里插入图片描述
1). 修改varnish用户的限制文件

vi /etc/security/limits.conf

在这里插入图片描述在这里插入图片描述

2). 配置 varnish 服务端口

vi /etc/sysconfig/varnish##修改varnish服务端口为80    
VARNISH_LISTEN_PORT=80##查看缓存命中情况
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);
}

在这里插入图片描述
3). 配置后端服务器的IP及端口

vi /etc/varnish/default.vcl
##配置一个后端服务器
backend web1 {.host = "172.25.254.2";.port = "80";}
##开启varnish服务
service varnish start
service varnish reload

在这里插入图片描述在这里插入图片描述
varnish 在系统中是一个进程!
在这里插入图片描述
系统有一个监控进程
在这里插入图片描述
在这里插入图片描述
3.配置后端服务器
1). 安装apache服务

yum install httpd -y

2). 配置apache服务

cd /var/www/html/     	##apache的/目录,默认发布目录
vi index.html			##默认发布文件	
server httpd restart    ##重启httpd服务

在这里插入图片描述3.测试
正常访问: http://172.25.254.2
在这里插入图片描述
配置好varnish服务器之后,当我们访问 http://172.25.254.1 说明 varnish服务器可以缓存
在这里插入图片描述

##测试缓存命中
curl -I 172.25.254.1

首次测试缓存未命中:
在这里插入图片描述
再此测试时命中:
在这里插入图片描述

### 通过 varnishadm 手动清除缓存
varnishadm ban.url .*$
#清除所有
varnishadm ban.url /index.html
#清除 index.html 页面缓存
varnishadm ban.url /admin/$
#清除 admin 目录缓存

在这里插入图片描述在这里插入图片描述

二.配置varnish服务器(支持多个后端服务器)

1.配置不同域名站点的后端服务器
之前配置了后端服务器server2,用相同的方法配置后端服务器server3
在这里插入图片描述2.配置varnish服务器

vim /etc/varnish/default.vcl
##定义多个不同域名站点的后端服务器
backend web1 {.host = "172.25.254.2";.port = "80";
}backend web2 {.host = "172.25.254.3";.port = "80";
}
##当访问 www.westos.org 域名时从 web1 上取数据,
##访问 bbs.westos.org 域名时到 web2 取数据,
##访问其他页面报错。
sub vcl_recv {
if (req.http.host ~ "^(www.)?westos.org") {
set req.http.host = "www.westos.org";
set req.backend = web1;
} elsif (req.http.host ~ "^bbs.westos.org") {
set req.backend = web2;
} else {error 404 "westos cache";
}
}/etc/init.d/varnish reload

测试:
在这里插入图片描述

4.把多个后端聚合为一个组,轮询访问

vim /etc/varnish/default.vcl##把多个后端聚合为一个组
director lb round-robin {
{.backend = web1;}
{.backend = web2;}
}
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 "westos cache";
}
}/etc/init.d/varnish reload

测试:访问 www.westos.org域名时,轮询访问组里后端服务器web1,web2。
而访问bbs.westos.org域名时,只访问web2
在这里插入图片描述

三.后端服务器的负载均衡

1.负载均衡
负载均衡(Load Balance,简称LB)是一种服务器或网络设备的集群技术。负载均衡将特定的业务(网络服务、网络流量等)分担给多个服务器或网络设备,从而提高了业务处理能力,保证了业务的高可用性。
2.配置server3后端服务器
1)修改配置文件

vim /etc/httpd/conf/httpd.confNameVirtualHost *:80 		 #990行取消注释DocumentRoot /wwwServerName www.westos.org
DocumentRoot /bbsServerName bbs.westos.org

2)
在这里插入图片描述
4.测试
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部