varnish实现缓存加速
admin
2023-02-24 14:20:07
0

varnish实现缓存加速

一、采用varnish为nginx实现缓存加速
1、实验环境:
(1)一台varnish缓存服务器,一台nginx服务器
(2)关闭防火墙和selinux
2.配置varnish
(1)修改varnish配置文件:
varnish实现缓存加速

创建目录:mkdir -pv /data/varnish/cache
修改属主:chown varnish.varnish /data/varnish/cache

varnish实现缓存加速
(2)测试:
varnish实现缓存加速
varnish实现缓存加速
二、varnish实现动静分离
(1)varnish配置:
varnish实现缓存加速
(2)测试:
varnish实现缓存加速
varnish实现缓存加速
(3)附件内容设置多个组,并做负载:

示例:
    import directors

    backend imgsrv1 {
        .host = "192.168.10.11";
        .port = "80";
    }

    backend imgsrv2 {
        .host = "192.168.10.12";
        .port = "80";
    }   

    backend appsrv1 {
        .host = "192.168.10.21";
        .port = "80";
    }

    backend appsrv2 {
        .host = "192.168.10.22";
        .port = "80";
    }

    sub vcl_init {
        new imgsrvs = directors.random();
        imgsrvs.add_backend(imgsrv1,10);
        imgsrvs.add_backend(imgsrv2,20);

        new staticsrvs = directors.round_robin();
        appsrvs.add_backend(appsrv1);
        appsrvs.add_backend(appsrv2);

        new appsrvs = directors.hash();
        appsrvs.add_backend(appsrv1,1);
        appsrvs.add_backend(appsrv2,1);     
    }

    sub vcl_recv {
        if (req.url ~ "(?i)\.(css|js)$" {
            set req.backend_hint = staticsrvs.backend();
        }       
        if (req.url ~ "(?i)\.(jpg|jpeg|png|gif)$" {
            set req.backend_hint = imgsrvs.backend();
        } else {        
            set req.backend_hint = appsrvs.backend(req.http.cookie);
        }
    }

安全检测:

.probe:定义健康状态检测方法;
                .url:检测时要请求的URL,默认为”/"; 
                  .request:发出的具体请求;
                    .request = 
                        "GET /.healthtest.html HTTP/1.1"
                        "Host: www.ww.com"
                        "Connection: close"
                .window:基于最近的多少次检查来判断其健康状态; 
                .threshold:最近.window中定义的这么次检查中至有.threshhold定义的次数是成功的;成功阈值;
                .interval:检测频度; 
                .timeout:超时时长;
                .expected_response:期望的响应码,默认为200;

            健康状态检测的配置方式:
                probe PB_NAME  { }
                     backend NAME = {
                    .probe = PB_NAME;
                    ...
                     }

相关内容

热门资讯

美媒:特朗普在结束伊朗战争问题... 据“国会山”网站5月6日报道,周二晚间,美国总统特朗普突然宣布终止旨在打破伊朗对霍尔木兹海峡掌控的军...
和创硅材料取得熔融石英制品擦洗... 国家知识产权局信息显示,东海县和创硅材料有限公司取得一项名为“一种熔融石英制品的擦洗脱泥装置”的专利...
美商务部长再就爱泼斯坦案接受国... 5月6日,美国商务部长卢特尼克“自愿”就其与爱泼斯坦的关系接受美国国会众议院监督与政府改革委员会的问...
“五一”小长假黄金零售市场新变... 【大河财立方 记者 孙凯杰】 “五一”小长假,黄金价格出现一波短暂调整,线下黄金零售市场热度如何?5...
以军3周来首次袭击黎巴嫩首都 据以色列总理内塔尼亚胡和国防部长卡茨当地时间5月6日晚发表的联合声明,以军当天对黎巴嫩首都贝鲁特南郊...
东莞移动:5G-A智擎护航, ... “五一”期间,松山湖草莓音乐节、广东国际汽车展示交易会·春季、2026茶园游会田园文化美食节、大岭山...
汉阳“知音数创”AI智能体创新... 4月30日,武汉市汉阳区数智产业推介会暨汉阳“知音数创”AI智能体创新大赛启动仪式在武汉基金产业基地...
伊朗最高领袖军事顾问:美国必须... 当地时间5月6日,伊朗最高领袖军事顾问穆赫辛·雷扎伊在接受采访时表示,伊朗不允许美国在不付出代价的情...
瑞士确诊、法国密接、西班牙待命... 综合法媒报道,国际探险邮轮“洪迪厄斯”号上的汉坦病毒事件,正从南美航程延伸至欧洲语境。最新进展显示,...
AMD锐龙X3D快到把游戏跑崩... 快科技5月6日消息,在Apex英雄最新Overclocked补丁中,修复了一个颇为尴尬的问题:AMD...