前言
在《企业项目实用—-实现CDN加速》一文中,已经介绍了如何实现CDN加速以及如何清除CDN缓存,这还不够,不仅具有出色的反向代理能力cdn加速 端口,还可以实现负载均衡,进一步减轻服务器压力!
链接到企业中的 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(无影响)1. 为具有不同域名的多个站点定义后端服务器
(代理端)。
1、本实验是在可以实现CDN加速的前提下进行的!
详情请参见企业项目实践—-CDN加速实施中单个后端服务器的部署!
2. 编写默认文件实现
[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 #重新加载
(后端服务器)。
[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 #启动阿帕其
(后端服务器)。
[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.com2. 通过域名访问代理
2. 负载均衡
负载平衡是指多个服务器共享访问量
(代理端)。
[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如图所示:
带有蓝色注释的部分是负载均衡器在上一个实验中修改的部分
当域名是时间时,在 web1 和 web2 之间发起轮询
客户端测试
[root@allen ~]# curl www.server2.com
3. 配置主机以提供多个域名服务
(后端服务器)。
[root@server3 ~]# cd /etc/httpd/conf.d/ [root@server3 conf.d]# vim adefault.conf ########################写入你要写的域名 NameVirtualHost *:80 #80端口 DocumentRoot /www #发布目录 ServerName www.lee.org #域名 DocumentRoot /bbsServerName bbs.allen.org [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.org2. 访问域名