varnish的使用

varnish实现负载均衡
Varnish是高性能开源的反向代理服务器和HTTP缓存服务器
Varnish的功能与Squid服务器相似,都可以用来做HTTP缓存

Squid是从硬盘读取缓存的数据,而Varnish把数据存放在内存中,直接从读取内存,避免了频繁在内存、磁盘中交换文件,所以Varnish要相对更高效,但也有缺点,内存中的缓存在服务器重启后会丢失

Varnish 如何工作
初始化过程
Varnish 的master进程负责启动工作,master进程读取配置文件,根据指定的空间大小(例如管理员分配了2G内存)来创建存储空间,创建并管理child进程
child进程来处理后续任务,它会分配一些线程来执行不同的工作,例如
接受http请求
为缓存对象分配存储空间
清除过期缓存对象
释放空间 碎片整理

http请求处理过程
有一个专门负责接收http请求的线程,一直监听请求端口,当有请求过来时,负责唤起一个工作线程来处理请求
工作线程会分析http请求的uri,知道了这个请求想要什么,就到缓存中查找是否有这个对象
如果有,就把缓存对象直接返回给用户
如果没有,会把请求转给后端服务器处理,并等待结果,工作线程从后端得到结果内容后,先把内容作为一个缓存对象保存到缓存空间(以备下次请求这个对象时快速响应),然后再把内容返回给用户

分配缓存过程

有一个对象需要缓存时,根据这个对象的大小,到空闲缓存区中查找大小最适合的空闲块,找到后就把这个对象放进去
如果这个对象没有填满这个空闲块,就把剩余的空间做为一个新的空闲块
如果空闲缓存区中没地方了,就要先删除一部分缓存来腾出地方,删除是根据最近最少使用原则

释放缓存过程
有一个线程来负责缓存的释放工作,他定期检查缓存中所有对象的生存周期,如果某个对象在指定的时间段内没有被访问,就把这个对象删除,释放其占用的缓存空间
释放空间后,检查一下临近的内存空间是否是空闲的,如果是,就整合为一个更大的空闲块,实现空间碎片的整理

在server1上配置varnish服务器
首先下载varnish安装包
安装varnish

在这里插入图片描述

查看此服务有哪些文件

在这里插入图片描述

vim /etc/sysonfig/varnish ##修改配置文件##

在这里插入图片描述

vim /etc/security/limits.conf ##修改配置文件##

在这里插入图片描述

在这里插入图片描述

在server2上安装httpd
cd /var/www/html/ ##进入阿帕其默认发布目录##
vim index.html ##编写发布页面##
此处文了方便,默认发布页面写server2
/etc/init.d/httpd start ##启动阿帕其服务##
/etc/init,d/httpd status ##查看阿帕其服务状态##

在这里插入图片描述

在server1上
vim /etc/varnish/default.vcl ##修该文件内容##

在这里插入图片描述

/etc/init.d/varnish start ##启动varnish服务##

ps aux | grep varnish ##查看varnish开启的进程##

此处可以看到由varnish开启的进程有一个

在这里插入图片描述

在真机上访问server1的ip,可以看到server2的默认发布页面,表示varnish实现了反向代理的功能

在这里插入图片描述

在server1上修改配置文件
vim /etc/varnish/default.vcl

在这里插入图片描述

/etc/init.d/varnish reload ##重新载入varnish服务##
在物理机上查看服务响应状态,查看是否命中
为命中显示miss,代表服务器并为缓存,需要在后台拿取,命中表示之前已经缓存成功

在这里插入图片描述

在这里插入图片描述

varnishadm ban.url .*$ ##清除varnish缓存##

##定义不同域名的后台服务器##

首先开启另一台虚拟机,server3
yum install httpd -y
cd /var/www/html/
vim index.html ##在默认发布页面上写server3##
/etc/init.d/httpd start

在varnish的服务器server1上修改配置文件
vim /etc/varnish/default.vcl

在这里插入图片描述

/etc/init.d/varnish reload ##重新载入varnish服务##
在物理机上修改解析
vim /etc/hosts

在这里插入图片描述

在物理机上进行测试

在这里插入图片描述

可以看到访问不同的域名调转到不同的发布页面

##varnish的负载均衡,轮询##

在server1上修改配置文件,
vim /etc/varnish/default.vcl

在这里插入图片描述

在这里插入图片描述

在server3上
cd /var/www/html/
mkdir /bbs
mkdir /www
cd bbs/
vim index.html ##写server3 /bbs##
cd www/
vim index.html ##写server3 /www##
vim /etc/httpd/conf/httpd.conf ##修改httpd的主配置文件##

在这里插入图片描述

/etc/init.d/httpd restart ##重启阿帕奇服务##
在server1上
vim /etc/varnish/default.vcl

在这里插入图片描述

/etc/init.d/varnish reload

在物理机上测试,当访问www.westos.org时可以看到负载均衡的轮询效果,访问bbs.westos.org
的时候可以看到bbs对应的发布页面

在这里插入图片描述

在这里插入图片描述

##cdn推送管理##
cdn推送管理是为了前端人员便捷的对varnish进行管理而设置的服务

在server1上进入varnish目录下
yum install unzip php httpd -y
mv /var/www/html/bansys/* /var/www/html/
cd /var/www/html
vim config.php

在这里插入图片描述

vim /etc/httpd/conf/httpd.conf

修改阿帕奇服务端口

在这里插入图片描述

/etc/init.d/httpd restart

打开浏览器,输入172.25.0.1(对应varnish服务器的ip):8080

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值