varnish——CDN加速的实现(多个后端服务器实现负载均衡,配置虚拟主机)

一:部署多个后端服务器实现负载均衡的Varnish

实验步骤如下所示(这个实验需要三个虚拟机和真机):

第一步:

我们可以利用man来查看需要什么配置

man vmod_directors

在这里插入图片描述
在这里插入图片描述
第二步:

[root@meng1 ~]# find / -name vmods
/usr/lib64/varnish/vmods
[root@meng1 ~]# cd /usr/lib64/varnish/vmods
[root@meng1 vmods]# ls
libvmod_directors.so  libvmod_std.so
[root@meng1 vmods]# pwd
/usr/lib64/varnish/vmods
[root@meng1 vmods]# ll /usr/lib64/varnish/vmods/libvmod_directors.so       #这是要导入的包名,要写绝对路径
-rwxr-xr-x 1 root root 27536 Aug  3  2017 /usr/lib64/varnish/vmods/libvmod_directors.so

在这里插入图片描述
配置varnish文件:

vim /etc/varnish/default.vcl

在这里插入图片描述

import directors from "/usr/lib64/varnish/vmods/libvmod_directors.so";       #导入包

#设置多个后端服务器
backend web1 {
    .host = "172.25.11.2";
    .port = "80";
}

backend web2 {
    .host = "172.25.11.3";
    .port = "80";
}
#以轮循的方式实现负载均衡
sub vcl_init {
         new lb = directors.round_robin();
         lb.add_backend(web1);
         lb.add_backend(web2);
          }

#当访问 www.westos.org 域名时从 web1 上取数据,访问 bbs.westos.org 域名时到 web2 取数据,访问其他页面报错。
sub vcl_recv {
      if (req.http.host ~ "^(www.)?westos.org") {
set req.http.host = "www.westos.org";
set req.backend_hint = lb.backend();
return (pass);        #时刻清除缓存,这是为了看实验效果,在企业中是不需要的
} elsif (req.http.host ~ "^bbs.westos.org") {
set req.backend_hint = web2;
} else {
          return(synth(405));
 }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述重启服务

在这里插入图片描述

第三步:

配置新的apache,nodel2已经配置过,现在配置的是nodel3

在这里插入图片描述
在这里插入图片描述

第四步:

在真机/etc/hosts里配置解析

在这里插入图片描述

第五步:在真机测试

在这里插入图片描述

二.配置Varnish的虚拟主机

第一步

在nodel3上创建虚拟主机(具体前面博客前面有讲)

cd /etc/httpd/conf.d/
vim vhost.conf

在这里插入图片描述

<VirtualHost *:80>
        DocumentRoot  /www
        ServerName   www.westos.org
</VirtualHost>

<Directory "/www">
        Require all granted
</Directory>

<VirtualHost *:80>
        DocumentRoot  /bbs
        ServerName   bbs.westos.org
</VirtualHost>

<Directory "/bbs">
        Require all granted
</Directory>

在这里插入图片描述

第二步:

配置默认发布目录,配置默认发布文件并重启

mkdir /www  /bbs
vim /www/index.html
vim /bbs/index.html
[root@meng3 conf.d]# cat /bbs/index.html
hahahahahaah我是bbs
[root@meng3 conf.d]# cat /www/index.html
hahahahaah我是www

第三步:在真机里面测试
在这里插入图片描述

注意:有些人可能会疑惑这里的www.westos.org跟之前的www.westos.org的关系,准确来说,配置的虚拟主机这个才是真的这个域名的拥有者,而我们前面认为的只是varnish将其当作web1,指定其为www.westos.org所以,当真的域名主机出现后,会“顶替”掉之前的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值