Varnish动静分离配置示例

动静分离

[root@varnish ~]# vim /etc/varnish/default.vcl
vcl 4.0;
backend web {
.host = "192.168.30.153";
.port = "80";
.probe = {
.url = "/check.html";
}
}
backend img {
.host = "192.168.30.131";
.port = "80";
.probe = {
.url = "/check.html";
}
}
sub vcl_recv {
if (req.url ~ "(?i)\.(jpg|png|gif)$") {
set req.backend_hint = img;
} else {
set req.backend_hint = web;
}
}
[root@web ~]# echo $HOSTNAME > /usr/share/nginx/html/check.html
[root@img ~]# echo $HOSTNAME > /usr/share/nginx/html/check.html
[root@varnish ~]# varnishadm 'vcl.load v1 default.vcl'
[root@varnish ~]# varnishadm 'vcl.use v1'
[root@varnish ~]# varnishadm 'vcl.list'
[root@varnish ~]# varnishadm 'backend.list' # 健康检查8次,8次均成功

[root@web ~]# for i in {1..9};do echo "$i.html on $HOSTNAME" > /usr/share/nginx/html/$i.html;done
[root@img ~]# for i in {1..9};do echo "$i.jpg on $HOSTNAME" > /usr/share/nginx/html/$i.jpg;done
[root@user ~]# curl varnish.example.com/1.html
1.html on web.example.com
[root@user ~]# curl varnish.example.com/1.jpg
1.jpg on img.example.com

posted @ 2019-02-22 23:04  叫我情感专家  阅读(100)  评论(0编辑  收藏  举报