主机为1.1.1.20 我用一台主机好测试,web服务器也为这个.端口为90
修改主机名 hostname juan.lmz.com sed -i 's@\(HOSTNAME=.*\)@\1juan.lmz.com@' /etc/sysconfig/network
hostname juan.lmz.com
修改varish的配置文件.主要修改用户LISTEN的端口和存储的方式 [root@juan html]# cat /etc/sysconfig/varnish |grep -En 'VARNISH_LISTEN_PORT=80|VARNISH_STOTAGE' 66: VARNISH_LISTEN_PORT=80 86:VARNISH_STOTAGE="malloc,128M"
配置VCL的配置语言 vi /etc/varnish/default.vcl backend default { .host = "1.1.1.20"; .port = "90"; } sub vcl_recv { if (req.url ~ "test.html$") { return(pass); } } sub vcl_fetch { if (req.request == "GET" && req.url ~ ".html$") { set beresp.ttl = 10s; } } sub vcl_deliver { if (obj.hits > 0){ set resp.http.X-Cache = "Hit Via" + " " + server.hostname; } else { set resp.http.X-Cache = "Miss from" + " " + server.hostname; } } backend default { .host = "1.1.1.20"; 后端服务器地址 .port = "90"; 后端服务器端口 } sub vcl_recv { if (req.url ~ "test.html$") { 定义匹配的URL return(pass); 就是不经过varnish缓存 } } sub vcl_fetch { if (req.request == "GET" && req.url ~ ".html$") { set beresp.ttl = 10s;缓存10s } } sub vcl_deliver { 定义响应报文,这里定义的是主机头 if (obj.hits > 0){ set resp.http.X-Cache = "Hit Via" + " " + server.hostname; } else { set resp.http.X-Cache = "Miss from" + " " + server.hostname; } }
这个是页面文件的内容 [root@juan html]# pwd /var/www/html [root@juan html]# cat index.html juan lmz [root@juan html]# cat test.html juan
分别访问1.1.1.20/index.html 和1.1.1.20/test.index.html
转载于:https://blog.51cto.com/limeizhi/1406859