varnish


部署单个后端服务器的varnish过程

  • 安装


    varnish_第1张图片
    安装这两个软件包

    varnish_第2张图片
    安装

    安装完成后,在系统的/etc/passwd中生成varnish用户,对varnish的访问控制实质上是对varnish用户的控制实现的
  • 更改varnish全局配置
    vim /etc/sysconfig/varnish


    varnish_第3张图片
    更改varnish的服务端口为80
  • 更改varnish配置文件
    vim /etc/varnish/default.vcl

    varnish_第4张图片

    以上操作对于varnish的基本配置已经成功了,然而中间还是出了一点问题
    varnish_第5张图片

    由于varnish指向的后端服务器172.25.4.2未开启httpd服务,所以重新加载varnish出现问题

  • 物理机验证配置
    物理机访问server1出现server2的页面,这样就表示成功了

    varnish_第6张图片


  • 测试缓存命中情况
    修改varnish配置文件

    varnish_第7张图片

    重载varnish
    varnish_第8张图片

    真机上测试
    真机中 curl -I 172.25.4.1 第一次缓存没有命中前往后端获取
    第二次直接获取,不用访问后端说明缓存命中
    varnish_第9张图片

  • 通过varnish手动清除缓存
    varnishadm ban.url 空格 /index.html 清除index.html页面缓存
    varnishadm ban.url 空格 .*$ 清除所有缓存

  • 清除页面缓存的特殊说明
    这是因为虽然curl -I 172.25.45.1和curl -I 172.25.45.1/index.html访问得到的结果一致,但是缓存到cache中的地址不同,cache缓存的是用户访问的url
    curl -I 172.25.45.1访问的结果中Age表示缓存时间,默认为120s后自动清除,可在/etc/sysconfig/varnish中修改


定义多个不同域名站点的后端服务器

首先,在server2/3中开启httpd服务,写入html 分别为(我爱中国)(我喜欢学习)。
在真机上添加解析:
172.25.4.1 www.westos.org www.linux.com westos.org

varnish_第10张图片

  • 在server1中

1、更改配置文件

varnish_第11张图片

varnish_第12张图片

2、真机测试
在真机中curl www.westos.org westos.org www.linux.org
varnish_第13张图片


varnish后端服务器的负载均衡

什么是负载均衡
负载均衡(Load Balance,简称LB)是一种服务器或网络设备的集群技术。负载均衡将特定的业务(网络服务、网络流量等)分担给多个服务器或网络设备,从而提高了业务处理能力,保证了业务的高可用性。 负载均衡算法的种类有很多种,常见的负载均衡算法包括轮询法、随机法、源地址哈希法、加权轮询法、加权随机法、最小连接法等,应根据具体的使用场景选取对应的算法。varnish中我们采用的是轮询法,平衡对待么一个后端服务器。

什么是健康检查
健康检查: 通过健康检查来确定服务器和应用的健康状况是负载均衡器器一个非常重要的功能。没有负载均衡器,客户端可能会将请求发送到已经停机的服务器上。网络管理员必须手动干预替换这台服务器,或者排除服务器的故障。有时服务器可能没有停机,但是因为某种原因,比如软件的漏洞,服务器上面运行的应用系统已经不能正常工作。比如Web应用可能正常运行,但它返回的页面却是错误的内容。负载均衡器能够检测这些情况并立即将客户请求导向到正常的服务器而不需要管理员的干预。

  • 在server3中 更改阿帕其的配置文件
    vim /etc/httpd/conf/httpd.conf
    mkdir /www 作为虚拟主机共享的目录,并且建立 /www/index.html


    varnish_第14张图片
    创建虚拟主机

    varnish_第15张图片
    配置解析

    varnish_第16张图片
    server3上测试

    varnish_第17张图片
    重新加载服务并且测试结果
  • server1中更改varnish的配置文件


    varnish_第18张图片
  • 真机测试
    varnish_第19张图片
    客户端以轮询的方式访问后端服务器

    由于采用的是轮询算法,所以后端服务器1和2会公平的被访问,由于缓存时间默认120s,那么,每一次访问www.westos.org时,每120s会换一次后端服务器,除非其中一个后端服务器出现问题。
    我们可以通过修改 vim /etc/sysconfig/varnish 中默认时间120s 为 1s
    或者我们可以设置 vim /etc/varnish/default.vcl 中 return(pass); 这样就会直接访问 后端服务器,不会访问缓存。

    varnish_第20张图片
    当关闭server2的httpd服务后,客户端不会再访问server2,仅仅访问server3

通过健康检查来确定服务器和应用的健康状况是负载均衡器器一个非常重要的功能。没有负载均衡器,客户端可能会将请求发送到已经停机的服务器上。网络管理员必须手动干预替换这台服务器,或者排除服务器的故障。有时服务器可能没有停机,但是因为某种原因,比如软件的漏洞,服务器上面运行的应用系统已经不能正常工作。比如Web应用可能正常运行,但它返回的页面却是错误的内容。负载均衡器能够检测这些情况并立即将客户请求导向到正常的服务器而不需要管理员的干预。

你可能感兴趣的:(varnish)