今天继续给大家介绍Linux运维的相关知识,本文主要内容是LAMP架构配合Varnish缓存的多网站缓存实战。
阅读本文,您需要对Varnish及其安装配置有一定的了解,如果您对此还存在困惑,欢迎查阅我博客内的其他文章,相信您一定会有所收获!
参考文章链接:
LAMP+Varnish缓存详解(一)——Varnish简介
LAMP+Varnish缓存详解(二)——单网站缓存
一、实战架构
本次实战,我们使用一台Varnish对两个Web站点进行缓存配置。各个设备及IP如下:
Varnish:192.168.136.11
Web1:192.168.136.12
Web2:192.168.136.13
这两个Web通过域名进行区分,Web1域名为www.web1.com,Web2域名为www.web2.com。
二、Varnish配置
Varnish的安装可以参考文章LAMP+Varnish缓存详解(二)——单网站缓存,在这里就不详细介绍了。这里我们主要介绍一下Varnish针对两台Web站点的配置。
首先,设置两个后端真实服务器的IP地址和端口,并将其命名为web1和web2,配置内容如下所示:
backend web1 {
.host = "192.168.136.12";
.port = "80";
}
backend web2 {
.host = "192.168.136.13";
.port = "80";
}
1
2
3
4
5
6
7
8
接下来,我们要配置Varnish服务器,根据不同的域名,访问不同的web服务器,在vcl_recv模块下,插入如下内容:
if (req.http.host ~ "(?i)^www.web1.com$") {
set req.backend_hint = web1;
} elsif (req.http.host ~ "(?i)^www.web2.com$") {
set req.backend_hint = web2;
return(hash);
}
1
2
3
4
5
6
上述代码表示该www.web1.com的域名访问请求送到刚刚我们配置的web1中,把www.web2.com的域名访问请求送到刚刚我们配置的web2中。
修改后,配置文件如下所示:
完成上述所有操作后,重启Varnish服务器。
三、效果检验
最后,让我们来检验刚才的配置成果,首先在本地hosts文件中修改对www.web1.com和www.web2.com解析的域名,使其定位到192.168.136.11上去,接下来尝试在浏览器上访问这两个域名,结果如下:
可以看到,Varnish针对这两个域名返回了不同的结果,我们的实战成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_40228200/article/details/122711637