使用varnish做cache(高速缓存)&定义多个不同域名站点的后端服务器&把多个后端聚合为一个组并检查负载均衡

来源:互联网 发布:网络歌手成都 编辑:程序博客网 时间:2024/04/30 05:17

主机环境:selinux iptables disabled
实验主机:server1 172.25.55.1 varnish(缓存端)
server2 172.25.55.2 apache(后端服务器1)
server3 172.25.55.3 apache(后端服务器2)
一、配置varnish
1) 安装
这里写图片描述
2)配置
a: 查看配置文件
这里写图片描述
b:配置一个apache后端服务器
这里写图片描述
这里写图片描述
c:配置varnish 服务端口并重启服务(使得varnish 监听80端口)
这里写图片描述
(打开这行注释,并且改为80)
这里写图片描述
:::/etc/init.d/varnish restart
这里写图片描述
3)测试
a:在server2上安装httpd
:::yum install httpd -y
b:在http默认发布目录下编辑默认读取的文件,并且重启服务
这里写图片描述

这里写图片描述
:::/etc/init.d/httpd restart
这里写图片描述
c:打开浏览器
输入server1(varnish) ip 即可看到在server2(后端服务器)上http默认发布目录下编辑默认读取的文件内容
4)查看缓存命中
a:编辑配置文件
这里写图片描述

(在配置文件里面加入以下内容)
这里写图片描述
b:重载服务(重载服务时出现错误,就是因为配置文件编辑错误)
这里写图片描述
c:在真机测试(最后一行显示是否命中信息。注:这里显示未命中,是因为在后面实验中有设定。)
这里写图片描述
二、定义多个不同域名站点的后端服务器
a:编辑配置文件,重载服务
:::vim /etc/varnish/default.vcl
这里写图片描述
(因为web1之前已经写过,限制需要加入web2即可)
这里写图片描述
(以下内容表示:当访问www.westos.org域名时从web1上取数据;访问bbs.westos.org时从web2上取数据;访问其他页面时报错)
这里写图片描述

:::/etc/init.d/varnish reload
c:在server3(后端服务器web2)安装httpd,并在默认发布目录编写文件
这里写图片描述

这里写图片描述
d:在真机做解析
这里写图片描述

这里写图片描述
e:在真机上测试,打开浏览器,分别访问www.westos.org和bbs.westos.org
三、把多个后端聚合为一个组,并检查负载均衡
a:编辑配置文件,重载服务
:::/etc/varnish/default.vcl
(在配置文件里面加入以下内容:mysite是站点名称,round-robin是轮调。)
注:加入内容中,两次站点名称一致(mysite),以及函数中的 return (pass)表示每执行一次该函数,就会自动清除缓存。
这里写图片描述

:::/etc/init.d/varnish reload

为了实验效果更明显,我们在server3上面配置虚拟主机来进行测试:
b:编辑httpd配置文件
:::vim /etc/httpd/conf/httpd.conf
(打开虚拟主机监听端口)
这里写图片描述
(按照以下内容编辑:当访问www.westos.org 时,读取/web1/ index.html文件内容;访问bbs.westos.org 时,读取http默认发布目录下的index.html文件内容)
这里写图片描述

c:创建目录,编辑默认读取的文件,重启服务
这里写图片描述
这里写图片描述
这里写图片描述

这里写图片描述
:::/etc/init.d/httpd restart
d:测试
在浏览器地址栏输入www.westos.org 进行测试:点击刷新,每次出现的页面就会在server2 和 server3 之间切换。

0 0
原创粉丝点击