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配置文件
vi /etc/varnish/varnish.params
VARNISH_LISTEN_PORT=80 端口更改为80
vi /etc/varnish/default.vcl
将backend default下的内容改为下图
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取数据。
#添加一个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
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文件夹中 在另外两台虚拟机中分别创建两个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出的内容与虚拟机中的网页内容对不对应