CDN的全称是Content Delivery Network,即内容奋发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
如果需要自己搭建CDN系统,有3种主流方案可以选择
squid
varnish
Nginx+memcache
在这个缓存为王的时代里,Varnish更是作为CDN缓存服务器的可选服务之一

实验具体操作
实验条件
一台Varnish服务器,二台Apache后端服务器,一台测试机,共4台主机

实验环境
Redhat7.3版本下实验,关闭防火墙及selinux

Varnish服务器 主机名server1·ip:192.168.0.1/24
后端服务器1 主机名server2 ip:192.168.0.2/24
后端服务器2 主机名server3 ip:192.168.0.3/24
测试端 ip:192.168.0.10/24

实验目标
使用Varnish服务器搭建web群集,实现内容分发、负载均衡

实验要求
1、安装varnish
2、后端服务器搭建apache资源
3、 测试端测试

实验步骤
server1>>>
安装varnish
yum install -y varnish-.rpm varnish-libs-.rpm jemalloc-*.rpm
查看配置文件
rpm -qc varnish
/etc/varnish/default.vcl
/etc/varnish/varnish.params
编辑配置文件
vim /etc/varnish/varnish.params
VARNISH_LISTEN_PORT=80
vim /etc/varnish/default.vcl
import directors from “/usr/lib64/varnish/vmods/libvmod_directors.so”;
backend web1{
.host = ‘192.168.1.2’
.port = ‘80’;
}
backend web2{
.host = ‘192.168.1.3’
.port = ‘80’;
}
sub vcl_deliver {
if(obj.hits > 0) {
set.resp.http.X-Cache = “HIT from westos cache”;
}
else {
set resp.http.X-Cache = “MISS from westos cache”;
}
return (deliver);
}

sub vcl_init {
new lb = directors.round_robin();
lb.add_backend(web1);
lb.add_backend(web2);
}

sub vcl_recv {
if (req.http.host ~ “^(www.)?westos.org”) {
set req.http.host = “www.westos.org”;
set req.backend_hint = lb.backend();
} elsif (req.http.host ~ “^bbs.westos.org”) {
set req.backend_hint = web2;
} else { return (synth(405));
}
重启
systemctl restart varnish

server2及server3设置apache
server2>>>
安装apache
yum install httpd -y
启动
systemctl start httpd
echo server2 > /var/www/html/index.html
systemctl restart httpd

server3>>>
安装apache
yum install httpd -y
启动
systemctl start httpd
echo server3 > /var/www/html/index.html
systemctl restart httpd

测试端>>>
第一次,显示从后端服务器获取。第二次显示从varnish缓存中获取
curl -I 192.168.0.1
通过 varnishadm 手动清除缓存,下次访问就不会从缓存中读取
varnishadm ban.url .*$ — 清除所有
varnishadm ban.url /index.html — 清除 index.html 页面缓存
varnishadm ban.url /admin/$ — 清除 admin 目录缓存

vim /etc/hosts
192.168.0.10 www.westos.org bbs.westos.org

curl www.westos.org
访问 www.westos.org 可以看到 server2 与 server3 轮流响应请求

curl bbs.westos.org
访问 bbs.westos.org 只能看到 server3 响应请求
因为varnish配置文件只对www.westos.org域名做了轮询
bbs.westos.org没有做轮询

Varnish搭建cdn缓存相关推荐

  1. 利用Squid反向代理搭建CDN缓存服务器加快Web访问速度

    案例: Web服务器:域名www.abc.com IP:192.168.21.129 电信单线路接入 访问用户:电信宽带用户.移动宽带用户 出现问题:电信用户打开www.abc.com正常,移动用户打 ...

  2. varnish 实现 CDN 缓存系统构建

    cdn 搭建 (server1:172.25.1.1 ) : [root@test1 ~]# ls varnish-3.0.5-1.el6.x86_64.rpm varnish-libs-3.0.5- ...

  3. 使用Nginx反向代理和proxy_cache缓存搭建CDN服务器加快Web访问速度

    碰到问题:移动用户访问web服务器www.osyunwei.com很慢 解决办法: 1.在移动机房放置一台nginx反向代理服务器 2.通过域名DNS智能解析,所有移动用户访问www.osyunwei ...

  4. CDN缓存服务器现状

    CDN缓存服务器现状,squid.nginx.trafficserver.ATS性能测试 squid本身是单进程架构,基本上大家的处理方式就是起多实例,所谓的多实例, 就是启动多个squid,通过这样 ...

  5. 什么是CDN?怎么搭建?搭建CDN需要什么软件!

    什么是CDN?        CDN 的全称是Content Delivery Network,即内容分发网络.其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更 ...

  6. CDN防盗链与有效使用CDN缓存

    CDN防盗链 应用场景 在我们搭建自己的阿里云CDN时,加快我们站点的静态文件响应速度. 但是与此同时,我们站点里的某些静态资源可能会被其他用户所盗取,然后使用我们的流量让他们的站点变得更流畅. 案例 ...

  7. 高并发应对:淘宝CDN缓存服务器部署探秘

    转自:http://server.chinabyte.com/6/12663506.shtml "好,时间到,开抢!"坐在电脑前早已等待多时的宋兰(化名)一看时间已到2011年11 ...

  8. 多节点CDN缓存加速系统wdcdn2.4版本发布(20111213)

    多节点CDN缓存加速系统wdcdn2.4版本发布(20111213) Wdcdn是一套基于Linux+apache+squid架构开发的CDN缓存加速系统及管理系统 可帮助大中小站长或大中小企业低成本 ...

  9. php 图片 cdn,PHP文件生成的图片无法使用CDN缓存的解决方法

    今天发现线上有个问题,线上一个图片域名,在前端已经加了CDN缓存,不落缓存,则用PHP动态实现图片缩放,但经PHP处理过的图片输出后,每次都要从后端读取,后端服务器压力瞬间增加,经分析,PHP中没有作 ...

最新文章

  1. smartrpc编译构建
  2. Linux下的vim编辑器与gcc编译器及静动态库的制作
  3. boost::make_biconnected_planar用法的测试程序
  4. 小师妹学JavaIO之:File文件系统
  5. Eclipse直接运行算法第4版例子(重定向和读取指定路径文件)
  6. linux纯文字界面,Linux入门 Part1: 使用控制台(1)-纯文本界面
  7. ADO.NET的几大对象详解
  8. 令牌桶算法和漏桶算法python_限流之漏桶算法与令牌桶算法
  9. 为实现电动车长途旅行,特斯拉超级充电站将大幅升级
  10. 关闭win7 透明化效果 aero
  11. 2012.4.16总结(二)
  12. Flask-SQLALchemy查询
  13. [jQuery]20+ Brilliant and Advanced jQuery Effects
  14. WebStorm常用插件推荐
  15. SqlServer导出为mdf
  16. 怎么理解java面向对象
  17. 平面设计素材| 文字排版 堆砌素材
  18. 华为鸿蒙os logo,华为鸿蒙 OS Logo :Powered by HarmonyOS
  19. win7查找计算机在哪里,win7搜索在哪
  20. Win11字体怎么调大?Win11调整字体大小的方法

热门文章

  1. 奥鹏教育计算机应用基础在线作业,天大21春《计算机应用基础》在线作业一二【标准答案】...
  2. 智汇云舟总裁周舟受邀出席“2022数字生态大会” 分享视频孪生的应用与价值
  3. Zbit ZB25VQ16ASIG 16M flash
  4. 用Python学《微积分B》(反常积分)
  5. android adb 获取顶层activity (android 13)
  6. vagrant + vitrulbox + centos8 部署单机 k8s
  7. 小米面试题:一副从1到n的牌
  8. 高等数学之可微,可导,可积与连续之间的关系
  9. Google第一季度业绩超预期 股价盘后大涨
  10. mac 关机系统命令集合