yum安装varnish

1.安装varnish(从Centos7开始,varnish已被收入到epel仓库)

yum   install epel-release -y
yum -y install varnish

2.新建varnish用户

useradd -M -s /sbin/nologin varnish

3.varnish配置文件

/etc/varnish/varnish.params    主配置文件
/etc/varnish/default.vcl      VCL配置文件

4.

 vi /etc/varnish/varnish.params
     VARNISH_LISTEN_PORT=80    端口更改为80

varnish服务yum安装及不同域名站点_第1张图片

vi /etc/varnish/default.vcl
将backend default下的内容改为下图 

varnish服务yum安装及不同域名站点_第2张图片

sub  vcl_recv{       再这个配置后加入下面内容
if  (req.http.host ~ "(?i)^(www.)?aa.com$") {
set req.htp.host = "www.aa.com";
set req.backend_hint = web1;
} elsif (req.http.host ~ "(?i)^www.bb.com$") {
set req.backend_hint = web2;
return(hash);
}
}
     判断当访问www.aa.com域名时从web1上取数据,访问www.bb.com域名是到web2取数据。

varnish服务yum安装及不同域名站点_第3张图片
#添加一个Header标识,以判断缓存是否命中

sub vcl_deliver {       在这个配置文件下加入下面内容
    if (obj.hits > 0) {
                set resp.http.X-Cache = "HIT  FROM"  + req.http.host;
set  resp.http.X-Cache-Hits = obj.hits;
        } else {
                set resp.http.X-Cache = "MISS  FROM"  + req.http.host;
        }
    return (deliver);
}

varnish服务yum安装及不同域名站点_第4张图片
启动varnish

systemctl start varnsh

    vi /etc/hosts
192.168.80.111   www.aa.com
192.168.80.111   www.bb.com    (当前虚拟机的IP地址)    

在windows中将C:\Windows\System32\drivers\etc中的hosts文件拖到桌面,在最后面加入
192.168.80.111 www.aa.com
192.168.80.111 www.bb.com
在拖回etc文件夹中
varnish服务yum安装及不同域名站点_第5张图片
在另外两台虚拟机中分别创建两个web服务在网页内容中分别写aaa和bbb

yum install httpd -y
vi /var/www/html/index.html

aaa

切记要将三台虚拟机的防火墙关掉

systemctl stop firewalld
setenforce 0

在浏览器中输入www.aa.com和www.bb.com出的内容与虚拟机中的网页内容对不对应
varnish服务yum安装及不同域名站点_第6张图片