varnish+CDN搭建服务

Varnish

Varnish是一款高性能的开源HTTP加速器,HTTP反向的代理
按照HTTP协议的处理过程,web服务器接受请求并且返回处理结果,理想情况下服务器要在不做额外处理的情况下,立即返回结果,但实际情况并非如此。

web服务器的实现千差万别,但典型的处理过程是相同的,都要经过一系列的步骤来处理接收到的每个请求。有可能需要启动一个进程来处理请求,有可能需要从磁盘上载入文件,或者启动内部线程来编译执行一些脚本。在执行脚本的过程中,还会有进行很多别的动作,比如进行数据库查询,读取文件等等。当成百上千个请求并发访问时,服务器的负载会很快上升,出现系统资源不够的情况。一种更糟的情况是,很多请求是重复的,但web服务器无法记住曾经作出的响应,还会重复上面复杂的处理过程。
当把Varnish部署上之后,web请求的处理过程会有一些变化。客户端的请求将首先被Varnish接受。Varnish将分析接收的请求,并将其转发到后端的web服务器上。后端的web服务器对请求进行常规的处理,并将依次将处理结果返回给Varnish。

但Varnish的功能并非仅限于此。Varnish的核心功能是能能将后端web服务器返回的结果缓存起来,如果发现后续有相同的请求,Varnish将不会将这个请求转发到web服务器,而是返回缓存中的结果。这将有效的降低web服务器的负载,提升响应速度,并且每秒可以响应更多的请求。Varnish速度很快的另一个主要原因是其缓存全部都是放在内存里的,这比放在磁盘上要快的多。诸如此类的优化措施使得Varnish的相应速度超乎想象。但考虑到实际的系统中内存一般是有限的,所以需要手工配置一下缓存的空间限额,同时避免缓存重复的内容。

部署varnish服务

1,配置好自己的虚拟机以及自己的快照

server1   	#varnish主机
server2		#后端服务器
主机作为客户机

2,server1做配置

yum  install -y jemalloc-3.6.0-1.el7.x86_64.rpm   varnish-6.3.1-1.el7.x86_64.rpm
#安装varnish以及解决他的依赖性
rpm -qc varnish	
#查看varnish相关的配置文件
安装完成会自动生成varnish用户

vim /lib/systemd/system/varnish.service #查看varnish服务启动脚本
ulimit  -a #查看内核限制参数
ulimit -n  131072   #全局允许文件打开最大数
ulimit  -l   85    #内存锁定

vim /etc/security/limits.conf	#修改系统参数
varnish         -       nofile          131072  #varnish用户最大开启文件个数 
varnish         -       memlock         82000 #运行varnish时内存允许其占用82M内存空间
varnish         -       nproc        unlimited  #varnish用户开启进程数不受限制

netstat -antlp | grep varnish  #查看端口

vim /etc/varnish/default.vcl #编辑varnish    配置文件
	backend default {
  	.host = "172.25.88.2";	##配置后端realserver
  	.port = "80";
	}
	
vim /lib/systemd/system/varnish.service  #修改服务接受转发端口
:80 -T localhost:6081

systemctl  restart  varnish
#重启服务

3,server2配置

yum install httpd   #安装httpd服务
cd /var/www/html
vim index.html   #写入文server2
systemctl start httpd  #重启服务

4,测试

curl  172.25.88.1
结果为:server2

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

5,查看命中

 vim /etc/varnish/default.vcl #编辑varnish配置文件
 systemctl restart varnish
 
 

在这里插入图片描述
6,清除缓存

varnishadm ban req.url "~" /  #清除所有
varnishadm ban req.url "~" /index.html  #清除index.html页面缓存

在这里插入图片描述

多个后端的服务搭建

1,server3服务器配置

yum install httpd   #安装httpd服务
cd /var/www/html
vim index.html   #写入文server3
systemctl start httpd  #重启服务

2,server1 varnish上配置

vim /etc/varnish/default.vcl #编辑varnish    配置文件

在这里插入图片描述
在这里插入图片描述
3,在客户端测试

curl  172.25.88.1

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值