Varnish学习笔记

Varnish是一款高性能、开源的反向代理服务器和缓存服务器。Varnish使用内存缓存文件来减少响应时间和网络带宽消耗。这个项目是由挪威的一家报纸Verdens Gang的网络分支起始的,其架构设计和开发总监Poul-Henning Kamp是FreeBSD核心的开发人员之一,最初项目的管理与基础设施及额外开发由挪威一家Linux咨询公司Linpro提供。

说到varnish,squid就不得不提及。squid算得上是古老的缓存服务器。由于varnish先进的设计理念,性能要比squid高上多,varnish还可以通过端口进行管理,使用正则语句做到清除指定缓存的功能,这些 squid都做不到。但是varnish在高并发的情况下,资源消耗较高,而且varnish服务进程一旦崩溃,重启,内存中的缓存数据将全部丢失。

配置实验环境

在子镜像vm1中安装varnish软件,并在/etc/sysconfig/varnish中修改端口为80,如图

然后修改其主配置文件/etc/varnish如图(子镜像vm2的ip为172.25.254.2)

启动varnish

然后在子镜像vm2中,安装httpd软件,并在默认发布目录下编辑发布文件index,html,并启动httpd服务

然后我们在网页上搜172.25.254.1,varnish会帮我们去172.25.254.2上找

测试缓存命中

然后我们再修改主配置文件(如果varnish有缓存,则会直接访问缓存,显示“HIT from westos cache”,如果没有缓存,则会去访问172.25.254.2,显示“MISS from westos cache”)

然后会看到,第一次访问,由于没有缓存,显示MISS from westos cache (未命中缓存),且Age为0 第二次访问,直接访问缓存,显示HIT from westos cache(命中缓存), Age为3,如果一直访问,就会一直访问缓存,直到120秒(Age为120)之后又重新访问172.25.254.2,并且重新建立缓存。

内核 >操作系统 >软件

修改限制文件,保证流量过大时,服务器正常运作

 

我们在子镜像vm3上安装httpd软件,并编辑默认发布目录下的发布文件,如图

定义varnish负载均衡

编辑server1上的varnish的配置文件(定义多个不同域名站点的后端服务器)如图

并在我们的真实主机上编辑解析文件/etc/hosts

此时我们在客户端搜索不同的域名,varnish会根据配置文件中的路径去访问相应的后端服务器,并缓存,减少后端服务器的压力

我们编辑server3的httpd的主配置文件

我们分别编辑/www/index.html文件和/var/www/html/index.html,并编辑解析文件如下图

在物理机中进行测试

然后我们可以看到轮询访问server2和server3

varnish cdn推送平台

在做这个实验之前,我们需要删除varnish主配置文件中的return (pass)再编辑,在server2上安装httpd,php,编辑config.php文件如图

我们还需要修改httpd的端口为8080,防止与varnish的端口冲突

然后在172.25.254.1:8080端口推送缓存,我们可以发现推送一次,缓存更新一次(有轮询)

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值