Varnish——企业CDN缓存系统(cdn加速的实现——单个后端服务器)

主机环境: rhel6 selinux and iptables disabled
实验主机IP服务
server1172.25.254.1varnish
server2172.25.254.2apache
server3172.25.254.3apache
环境搭建:

1.获得6.5的镜像,在真机进行挂载;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.打开虚拟控制器安装虚拟机,实现最小安装(内存设置为512M,硬盘20G)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.安装配置过程
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.虚拟机配置

01.改主机解析,改主机名
vi /etc/hosts
在这里插入图片描述
vi /etc/sysconfig/network
在这里插入图片描述
02.删除eth0的系统硬件信息
在这里插入图片描述
03.修改IP,重启网络
vi /etc/sysconfig/network-scripts/ifcfg-eth0
在这里插入图片描述
/etc/init.d/network restart
在这里插入图片描述
在这里插入图片描述
04.配置yum源
在这里插入图片描述
在这里插入图片描述
05.关闭selinux
在这里插入图片描述
06.关闭火墙,设定开机不自启(rhel6.5里火墙采用的是iptables)
在这里插入图片描述
在这里插入图片描述
07.安装需要的软件
在这里插入图片描述
08.设置完成后poweroff,切忌不能reboot(设置会被还原)

5.删除虚拟机(不要删除文件)
在这里插入图片描述
6.创建快照,导入快照文件

cd /var/lib/libvirt/images/
qemu-img create -f qcow2 -b server1.qcow2 server1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7.配置三个虚拟机的主机名和网络(server1做过设置不需要重复操作)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
另外的虚拟机操作同

测试

互相ping,看是否能通信
在这里插入图片描述
在这里插入图片描述
####################################################
##varnish反向代理搭建-单个后端服务器的varnish的部署##
####################################################

【代理端】: server1 172.25.254.1
【后端服务器】: server2 172.25.254.2

搭建步骤:

【server1】:

1.获得varnish包资源(可在官网下载)
varnish-3.0.5-1.el6.x86_64.rpm 与 varnish-libs-3.0.5-1.el6.x86_64.rpm

2.在server1上,安装varnish
在这里插入图片描述
3.配置 varnish 服务端口

vim /etc/sysconfig/varnish
8 NFILES=131072			#最多能打开的文件数131072,varnish会自动调整该值
12 MEMLOCK=82000		#最多能使用的内存空间82000,varnish会自动调整该值
15 NPROCS="unlimited"	#单个用户所能允许的进程数不受限制
66 VARNISH_LISTEN_PORT=80

4.修改 varnish 用户的限制文件

vim /etc/security/limits.conf
# End of file
varnish         -       nofile          131072
varnish         -       memlock         82000
varnish         -       nproc           unlimited

注意:varnish需要的资源,系统满足不到,因此需要让他受到限制,即给他营造假象

ulimit -a #查看系统内存信息
在这里插入图片描述
sysctl -a | grep file #查看系统文件数
在这里插入图片描述
5.配置后端服务器(修改通过代理服务器要访问的主机)

vim /etc/varnish/default.vcl
 7 backend default {
 8   .host = "172.25.254.2";
 9   .port = "80";
10 }

6.开启服务,编写配置文件后要重新加载(切忌不能restart)

/etc/init.d/varnish start
/etc/init.d/varnish reload

【server2】:

1.安装apache服务
在这里插入图片描述
2.编写默认发布文件

cd /var/www/html/
vim index.html
1 server2

在这里插入图片描述
3.开启httpd服务
在这里插入图片描述

测试:

【客户端】:真机
curl 172.25.254.1(实际看到的是服务器)
在这里插入图片描述
####################################################
############### 查看是否命中缓存 ####################
####################################################

【代理端】server1 172.25.254.1

搭建步骤

1.在配置文件编辑是否命中反馈信息

vim /etc/varnish/default.vcl
11 
12 sub vcl_deliver {
13 if (obj.hits>0){		#如果命中显示、、
14 set resp.http.X-Cache = "HIT from westos cache";
15 }
16 else {
17 set resp.http.X-Cache = "MISS from westos cache";
18 }
19 return (deliver);
20 }

在这里插入图片描述
2.重新加载配置文件信息

/etc/init.d/varnish reload

在这里插入图片描述

测试:

【客户端】:
1.查看是否命中代理服务器的缓存

curl -I 172.25.254.1

在这里插入图片描述
2.清除代理端的缓存,再次进行测试

varnishadm ban.url .*$		#清除所有缓存

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

varnishadm ban.url /index.html		#清除url网页的缓存,可能并不会达到效果(再次执行清楚所有的命令)

在这里插入图片描述
测试:客户端通过 curl -I 172.25.254.1/index.html会被清除缓存
在这里插入图片描述
注意:默认的缓存清除时间是120s(/etc/sysconfig/varnish)

补充:
url统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值