varnish-学习总结(反向代理缓存、负载均衡)

概念

  1. varnish:【Varnish HTTP Cache】,Varnish是反向HTTP代理,有时也称为HTTP加速器或Web加速器。 反向代理是一种代理服务器,在客户端看来是普通服务器。 Varnish在内存中存储(缓存)文件或文件片段,以减少响应时间和对未来等效请求的网络带宽消耗。 根据现代硬件,现代操作系统和现代工作负载而设计。
  2. varnish官网:http://varnish-cache.org/
  3. 后端服务器:【backend】也叫原点服务器,后端服务器将提供 varnish 加速的内容,在配置文件/etc/varnish/default.vcl中;Varnish 可以定义多个后端服务器,并且可以通过定义多个后端服务器达到负载均衡的目的。
  4. varnish默认使用端口:6081
  5. VCL:【varnish configuration language】,varnish区域配置语言,目的在于规定请求的处理和内容的缓存策略。在执行vcl时,varnish 就把 VCL 转换成二进制代码

反向代理缓存

单一服务器

  1. 试验内容:node1反向代理缓存node2主机
  2. 试验环境:2台机器
主机名 IP地址 服务 作用
node1 192.168.27.11 varnish 反向代理缓存
node2 192.168.27.12 httpd http服务
  1. 具体步骤:
    1. node1中安装varnish,本次安装varnish-6.3.1-1.el7.x86_64.rpm;依赖性软件jemalloc-3.6.0-1.el7.x86_64.rpm
    2. 修改配置文件/etc/varnish/default.vcl,添加代理后端服务器
    # Default backend definition. Set this to point to your content server.
    backend default {
         
    	   .host = "192.168.27.12";  	#将node2地址设置为varnish后端服务
    	   .port = "80";							#访问端口80
    }
    
    1. 更改端口6081为80;(因为使用的是rhel7.5系统,服务是由有systemd管理,此处修改varnish服务启动后的访问端口方式为;修改/usr/lib/systemd/system/varnish.service服务文件)
    ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6081 -f /etc/varnish/default.vcl -s malloc,256m
    #execstart 真实启动方式,调用启动脚本varnishd,execstart=后面的可以直接在命令行中运行,开启服务
    #-a varnish监听所有发给80端口的http请求;也可以写作-a 0.0.0.0:80
    #-T 转发本地监听端口6081
    #-f 指定配置文件为/etc/varnish/default.vcl
    #-s 指定选项用来确定 varnish 使用的存储类型和存储容量,使用的是 malloc 类型( malloc 是一个 C 函数,用于分配内存空间), 1G 定义多少内存被 malloced
    
    1. node2安装httpd,设置访问页面index.html内容为node2
  2. 测试内容
    1. 确认反向代理可否进行访问
    # node1中:
    curl 192.168.27.11
    node2
    
    1. 确认是本地缓存,还是转发地址(此处需要添加vcl_deliver;vcl_deliver当一个没有被 cached 内容交付给客户端的时候被调用
      node1中修改配置文件/etc/varnish/default.vcl,重启服务
    #是否存在访问记录
    sub vcl_deliver {
         
        # Happens when we have all the pieces we need, and are about to send the
        # response to the client.
        #
        # You can do accounting or modifying the final object here.
    if (obj.hits > 0){
         								#检测访问次数
            set resp.http.X-Cache = "HTML cache";	#已有访问记录反馈信息
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值