企业项目实战 ---- CDN加速(配置负载均衡)

前言

在《企业项目实战----CDN加速的实现》一文中已经介绍了如何实现CDN加速以及如何清除CDN缓存,这还不够,varnish不仅有优秀的反向代理能力,还能实现负载均衡,进一步减轻服务器的压力!
《企业项目实战----CDN加速的实现》链接:点击此处即可查看《企业项目实战----CDN加速的实现》一文

实验环境

目前,企业中大多用的还是企业6

server1		172.25.64.1	  varnish端(CDN缓存)	版本企业6
server2		172.25.64.2		服务器(apache)		版本企业6
server3		172.25.64.3		服务器(apache)		版本企业6
allen		172.25.64.x	 	客户端				版本企业7(无影响)

一、定义多个不同域名站点的后端服务器

server1(varnish代理端)
1、本实验是在varnish端能实现CDN加速的前提下进行的!
详情请看《企业项目实战----CDN加速的实现》中的varnish实现单个后端服务器的部署部分!
2、编写varnish默认文件实现

[root@server1 ~]# vim /etc/varnish/default.vcl 

backend web1 {					#定义web1
  .host = "172.25.64.2";		#访问主机172.25.64.2(server2)
  .port = "80";					#80端口访问
}
backend web2 {
  .host = "172.25.64.3";
  .port = "80";
}

sub vcl_recv {
if (req.http.host ~ "^(www.)?server2.com") {
set req.http.host = "www.server2.com";		#如果域名是www.server2.com,访问web1
set req.backend = web1;
} elsif (req.http.host ~ "^bbs.server3.com") {	#如果域名是bbs.server3.com
set req.backend = web2;					#访问web2
} else {error 404 "server cache";		#其他404报错
}
}

[root@server1 ~]# /etc/init.d/varnish reload		#重新加载

server2(后端服务器)

[root@server2 ~]# yum install httpd -y		#安装阿帕其
[root@server2 ~]# vim /var/www/html/index.html 		#编写默认发布文件
这里是服务器server2,ip为172.25.64.2!
[root@server2 ~]# /etc/init.d/httpd start		#启动阿帕其

server3(后端服务器)

[root@server3 ~]# yum install httpd -y		#安装阿帕其
[root@server3 ~]# vim /var/www/html/index.html 		#编写默认发布文件
欢迎访问server3,我的IP是172.25.64.3!
[root@server3 ~]# /etc/init.d/httpd start		#启动阿帕其

客户端测试

1、编写本地解析
因为是本地实验,域名是自己编的,电脑不认识,我们就手动让它认识!

[root@allen ~]# vim /etc/hosts
172.25.64.1     www.server2.com
172.25.64.1     bbs.server3.com

2、通过域名访问varnish代理机
在这里插入图片描述

二、负载均衡

负载均衡就是多个服务器一起分担访问量

server1(varnish代理端)

[root@server1 ~]# vim /etc/varnish/default.vcl

director lb round-robin {     ##轮询		添加进去
        { .backend = web1; }    
        { .backend = web2; }    
}                               

sub vcl_recv {						#修改部分
if (req.http.host ~ "^(www.)?server2.com") {
set req.http.host = "www.server2.com";
set req.backend = lb;           ##启用轮询,当域名为www.server2.com时
return (pass);                  ##为了方便测试,此处不做缓存

[root@server1 ~]# /etc/init.d/varnish reload

如图:
有蓝色注释部分便是负载均衡在上一个实验下修改的部分
在这里插入图片描述
域名为wwwserver2.com时,启动轮询,在web1和web2之间

客户端测试

[root@allen ~]# curl www.server2.com

在这里插入图片描述

三、配置一个主机提供多个域名服务

server3(后端服务器)

[root@server3 ~]# cd /etc/httpd/conf.d/
[root@server3 conf.d]# vim adefault.conf 
########################写入你要写的域名
NameVirtualHost *:80			#80端口
<VirtualHost *:80>
DocumentRoot /www			#发布目录
ServerName www.lee.org		#域名
</VirtualHost>

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

[root@server3 conf.d]# mkdir /www
[root@server3 conf.d]# vim /www/index.html 	#发布文件
你访问的是www.lee.org!

[root@server3 conf.d]# mkdir /bbs
[root@server3 conf.d]# vim /bbs/index.html 
你访问的是www.allen.org!

[root@server3 conf.d]# /etc/init.d/httpd restart	#重启阿帕其服务

客户端测试

1、编写本地域名解析

172.25.64.3     www.lee.org bbs.allen.org

在这里插入图片描述

2、访问域名
在这里插入图片描述

没有更多推荐了,返回首页