企业CDN的简单搭建-varnish

varnish搭建CDN节点集群 #######################相关概念 1.什么是CDN? CDN的全称是Content Delivery Network,即内容奋发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负... 阅读详情

CDN的定义为内容分发网络,也就是加速的意思,大多数情况是用来提供网站加速服务。一般来说以资讯、内容等为主的网站,具有一定访问体量的网站。
CDN加速将网站的内容缓存在网络边缘(离用户接入网络最近的地方),然后在用户访问网站内容的时候,通过调度系统将用户的请求路由或者引导到离用户接入网络最近或者访问效果的缓存服务器上,有该缓存服务器为用户提供内容服务;相对于直接访问源站,这种方式缩短了用户和内容之间的网络距离,从而达到加速的效果。

所以来说企业去使用CDN对于用户的服务体验提升尤为重要,这里我们简单来说明一下如何使用VARNISH搭建CDN

varnish服务的下载和安装启用

下载

varnish服务是一款开源软件,可以通过官网直接下载:http://varnish-cache.org/
下载的类型有tgz格式的源码包和rpm包,一般来说使用rpm方便安装,
在这里插入图片描述
在这里插入图片描述
下载完成后得到的安装包
在这里插入图片描述

安装

当我们使用yum直接安装varnish时,会报错,还需要其他的依赖性,并且在官方的仓库中没有,需要去网上再下载
在这里插入图片描述
在网上搜索后找到需要的官方安装包下载下来
在这里插入图片描述

然后进行一起yum安装
在这里插入图片描述
安装后查看结果是否成功
在这里插入图片描述
varnish服务的配置文件:
/etc/ld.so.conf.d/varnish-x86_64.conf,主配置文件
/etc/logrotate.d/varnish,环境变量文件
/etc/varnish/default.vcl,默认配置语法文件
在这里插入图片描述

启用

首先查看它的启动脚本文件 /usr/lib/systemd/system/varnish.service
在这里插入图片描述
vim 进入查看信息:
首先是最大的支持的开启文件数,如果主机的内存过低会导致无法使用,主机系统的文件数可以使用sysctl -a |grep file查看
在这里插入图片描述

然后是运行varnish需要的内存大小,系统支持的内存使用命令:limit -a查看,如果过低需要去修改系统参数
在这里插入图片描述
在这里插入图片描述

接下来看启动时加载的信息

  • /usr/sbin/varnishd,启动脚本
  • -a :6081,指定端口
  • -f /etc/varnish/default.vcl,指定读取的配置文件
  • -s malloc,256m,锁定内存

在这里插入图片描述
这里需要将它的启动端口改为网络访问的默认端口80,因为我们配置的是供客户访问的CDN,作为反向代理,需要客户可以直接访问到这个主机,然后由我们配置的CDN去对服务器内容进行读取和缓存
在这里插入图片描述

完成后保存退出,这样配置文件就完成
然后去修改系统的参数,让系统允许varnish 的需求
编辑文件: vim /etc/security/limits.conf
在文件内容最后写入,写完后保存退出即可
在这里插入图片描述
启动varnish,查看开启的端口
在这里插入图片描述
然后去浏览器访问尝试
发现网页报错是因为我们没有设置发布页面,但是可以看到varnish服务提供的信息
在这里插入图片描述


CDN配置

首先需要去配置 /etc/varnish/default.vcl,新的版本vcl语法编辑需要在文件开头写入vcl4.1; / vcl4.0; 执行新的函数
这里是在其他人访问我们的varnish服务的80端口时,回去询问本机的8080端口
在这里插入图片描述
但是可以查看,本机上并不存在8080端口
在这里插入图片描述
这样我们可以对这个配置进行修改,改为另一台作为服务端主机的ip
在这里插入图片描述
然后在172.25.254.2 ,sever2主机上安装apache服务开启80端口,写一个简单的默认发布页面
在这里插入图片描述
注意要在sever2火墙上添加http的服务和80端口,否则是无法使用的

完成这些设置后,再去访问varnish主机172.25.254.1就可以看到172.25.254.2的默认发布页面,这样我们就完成了反向代理的设置

在这里插入图片描述

CDN缓存设置

编辑配置文件:vim /etc/varnish/default.vcl

需要编辑模块是:sub vcl_deliver
在这里写一个判定语句,如果缓存成功返回一句换,否则缓存另一句换
在这里插入图片描述
重启服务,使用命令在访问网站时查看状态信息:curl -I 172.25.254.1
第一次访问的结果是未缓存
在这里插入图片描述
第二次再访问就可以看到已经缓存过了,访问的内容是缓存的资源
在这里插入图片描述

缓存清除
缓存的默认清理时间是120s,但是如果服务端发布新的内容,CDN上就需要及时更新缓存,清理旧的缓存加载新的缓存
清理缓存的命令:varnishadm ban req.url “~” /
/ 表示清理所有的缓存,如果需要清理指定缓存可以在/后加指定的文件名
在这里插入图片描述

CDN反向代理多台服务端配置

配置文件: /etc/varnish/default.vcl,在添加一台服务端,帮助分流用户访问,并给每个服务端命名区分
在这里插入图片描述
在下面的 sub vcl_recv 模块里写入判断语句,针对访问两个不同服务端反馈不同的值 ,配置完后重启服务
在这里插入图片描述

同样在172.25.254.3主机上安装apache服务,写入一个默认发布页面区别于172.25.254.2,方便识别。
在这里插入图片描述

访问测试:
在测试主机上地址解析将两个域名都设置在172.25.254.1上,分别去访问两个域名得到不同的结果
在这里插入图片描述

CDN负载均衡配置

需要写的配置还是在:/etc/varnish/default.vcl
首先需要导入负载均衡的模块:import directors from “/usr/lib64/varnish/vmods/libvmod_directors.so”
在这里插入图片描述

然后需要写的配置文件通过查看帮助:man vmod_directors
在这里插入图片描述
我们也可以直接安装官方的方式写,将服务端名称改为我们设置的,并且将访问www.hello.com为轮换访问,参数return (pass)表示不缓存数据,不然的换出现的结果都会是一个
在这里插入图片描述

保存重启服务,然后进行测试
我们测试访问www.hello.com,出现的是www.hello.com和bbs.hello.com轮换出现
在这里插入图片描述

企业--Varnish搭建CDN节点集群 CDN简介 CDN(Content Delivery Network)是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。 CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问... 阅读详情

相关推荐

峰值电流模式CCM BUCK的传递函数推导

电流内环闭环传递函数: Gci(s)=i^L(s)v^comp(s)=FmGid(s)1+KRiHe(s)FmGid(s)=1Ri11+s[mcL+(0.5VIN−Vo)RiVINRifSW]+s21(πfSW)2 G_{ci}(s)=\frac{\hat i_{L}(s)}{\hat v_{comp}(s)}=\frac {F_mG_{id}(s)}{1+KR_iH_e(s)F_mG_{id}(s)}=\frac{1}{R_i}\frac{1}{1+s[\frac{m_cL+(0.5V_{IN}-V_o)

c007106333的博客 2353

企业一之cdn搭建

打开2台虚拟机一、varnish基础搭建在vm1上vim /etc/security/limits.conf 修改本地最大文件数 vim /etc/sysconfig/varnish 修改varnish最大文件数,监听端口 NFILES=65535 最大文件数 VARNISH_LISTEN_PORT=80 监听 vim /etc/varnish/defa

m0_37387597的博客 1358

同花顺【红绿趋势】幅图指标 源码分析

a10:IF(差值<=0 ,0 ,差值*0.2 ,4 ,0),STICK,linethick5,colorred;a7:IF(差值<=0 ,0 ,差值*0.8 ,4 ,0),STICK,linethick5,colorred;a8:IF(差值<=0 ,0 ,差值*0.6 ,4 ,0),STICK,linethick5,colorred;a6:IF(差值<=0 ,0 ,差值*1 ,4 , 0),STICK,linethick5,colorred;DRAWICON(先锋<0,-25,1);

zhibiaogong的博客 4049

如何自己架设部署CDN?

转自:https://www.zhihu.com/question/21771529作者:视界云链接:https://www.zhihu.com/question/21771529/answer/190036779来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。关于企业是否需要部署自己的CDN,这个需要结合最优的性价比、自身的需求和业务规模以及自身的能力等综合因素来衡...

haima1998的专栏 1万+

前端技能树,面试复习第 54 天—— 手写代码:情景题

前端修罗场提供全网最专业的前端优质文章与社区服务,为应届生,初中级前端工程师提供全面、优质的面试服务、技能提升、职场解惑服务!内容包含:前端面试辅导,前端面试题,前端交流,前端答疑,前端基础知识,前端知识体系,技能树搭建,Javascript,CSS,CSS3,HTML,React,Vue,小程序,前端简历,职业交流,远程工作,英文交流,英文提升,外企,互联网,国企,大厂,牛客面试题,掘金面试题,面经,优质前端文章分享...

前端进阶之路 | 中大厂、外企、国企内推 | 面试培训 | 简历修改 985

Python全栈入门到实战【基础篇 22】生成器与迭代器:底层逻辑与实战场景

Python迭代器与生成器:惰性求值的高效实践 摘要:本文深入解析Python中迭代器和生成器的核心机制与应用场景。迭代器通过实现__iter__()和__next__()方法实现惰性求值,适合处理大数据集和无限序列。生成器作为迭代器的简化实现,通过yield关键字自动实现迭代器协议,代码更简洁。文章详细对比了可迭代对象与迭代器的区别,演示了自定义迭代器和生成器函数的实现方式,并介绍了生成器表达式这一高效替代列表推导式的方案。通过斐波那契数列等实例,展示了惰性求值在内存优化方面的优势,以及生成器在流式数据处

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 3260

企业运维之 CDN 内容分发网络

企业运维之 CDN 内容分发网络 1. CDN 是什么?2. CDN 的工作原理3. CDN 的组成4. 部署5. 负载均衡及健康检查 1. CDN 是什么? CDN 是 Content Delivery Network 的简称,即 "内容分发网络” 的意思。一般我们所说的 CDN 加速,一般是指网站加速或者用户下载资源加速。 CDN 基本思路就是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网

weixin_54720351的博客 1295

Experion PKS系列开发:I_O模块_ExperionPKS与第三方I-O模块的集成

通过上述步骤,可以成功将第三方I/O模块集成到Honeywell Experion PKS系统中,实现对现场设备的监视和控制。集成过程中需要注意选择合适的第三方模块,配置正确的通信参数,编写正确的控制逻辑,并进行充分的测试,以确保系统的稳定性和可靠性。不同的通信协议(如Modbus、Profibus、Ethernet/IP、CANopen、OPC UA)有其独特的配置和编程方法,但总体流程相似。在实际应用中,根据项目需求选择合适的协议和模块,可以有效提高系统的灵活性和适应性。

zhubeibei168的博客 1099

图片cdn内部结构

之前在设计自建cdn的内部结构时写的一些文字,简单贴下。内部节点方案。大部分公司的做法都是lvs+keepalived几个厂商的不同作法:1.pptv keepalived+nginx+squid+ts 节点灵活性比较高,小节点多机房,30左右节点数量,70台左右的机器2.迅雷 lvs+keepalived+ts+squid lvs是公用的,其他业务也会用到(机房业务...

weixin_34362790的博客 272

《YOLOv12魔术师专栏》专栏介绍 & 专栏目录

《YOLOv12魔术师专栏》专栏介绍 & 专栏目录

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 5058

PTP(确时间协议,Precision Time Protocol)时间同步

主时钟定期发送带预估发送时间 t1 的报文(若支持硬件时间戳,实际 t1​ 由后续的Follow_Up报文携带)。所有设备启动后通过协商选举出唯一主时钟(Grandmaster),其余设备自动成为从时钟(Slave)。:从时钟记录接收时间 t2,随后向主时钟发送Delay_Req并记录发送时间 t3​。若使用支持PTP的交换机,可修正报文在交换机内的驻留时间,进一步提升精度。从时钟根据offset调整本地时钟,实现与主时钟同步。动态调整本地时钟,抵消传输延迟和时钟漂移。(或通过BMCA自动当选)。

努力努力努力 1303

varnish搭建cdn网络

一、CDN简介         CDN的全称是Content Delivery Network,即内容奋发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用

xayddxjsjxywuhui的博客 1846

智能手环嵌入式系统:STM32+ESP8266多传感器健康监护设计

可穿戴健康监测设备是物联网与边缘计算融合的典型应用,其核心在于多源生理信号采集、低功耗实时处理及安全云协同。基于光电容积脉搏波(PPG)的心率与血氧检测、NTC热敏电阻体温测量、加速度-角速度融合跌倒判据等技术,构成了老年健康监护的基础感知能力;而STM32主控与ESP8266协处理器分工架构,则实现了计算资源与通信负载的高效解耦。该方案依托FreeRTOS多任务调度、阿里云IoT物模型标准化交互及MQTT双向通信,兼顾实时性、可靠性和工程可维护性,广泛适用于居家养老、慢病管理与远程健康预警等场景。

weixin_33256096的博客 97

企业常用cdn搭建varnish服务器

1.环境: 实验主机:server1 172.25.35.1 varnish server2 172.25.35.2 apache server3 172.25.35.3 apache 2.varnish部署 1.下载安装varnish软件包(server1) 2./etc/sysconfig/varnish...

oikinkl的博客 454

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

用varnish搭建cdn节点集群

CDN CDN的全称是Content Delivery Network,即内容奋发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点...

Argued_D的博客 569

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

企业CDN缓存系统varnish——搭建一个最基本的varnish系统

前面我先给大家讲述一下基本原理和思想,帮助大家彻底理解什么是varnish加速器 虽然互联网企业大多数使用nginx这个功能比较多的服务器,但是单学一个varnish服务器可以让大家彻底理解原理 1.什么是varnish? Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好 之前的squi...

ymeng9527的博客 623

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Linux:用Varnish搭建CDN网络

一·Varinsh Varnish是一款高性能的开源HTTP加速器 ,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid 性能比以前更好。 Varnish 的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现...

Le_Anny的博客 434

企业CDN缓存系统varnish——搭建一个具有多台后端服务器varnish系统

文章目录1 正向代理2 反向代理3 1 正向代理 如访问国外的服务器访问不到,通过香港服务器。知道访问的对象,但隐藏了客户端 2 反向代理 如10086接线员,隐藏了服务端 3 ...

weixin_21583810的博客 437

企业CDN缓存系统--varnish

企业CDN缓存系统–varnish 1.CDN工作原理及varnish的基本概念 CDN缓存系统 CDN:content distribute network(内容分发网络)或者content delivery network(内容交付网络)。CDN的任务是将内容从源站传递给用户。 人们常这样说,互联网由两层组成:一层是以TCP/IP为代表的网络层(狭义的互联网internet),另一层是以w...

xrt0211的博客 361

Varnish搭建CDN网络服务

企业: 访问杭州阿里云的服务器 client发送数据—>CDN(内容分发网络)—>隔壁的服务器,如果还是不存在时,直接访问总服务器;—>负载均衡F5(硬件负载均衡:路由器的负载均衡;但是相当贵)/LVS(小型企业负载均衡;4:基于ip,效率没有7层(基于应用的)的负载均衡好)+ HA---->haproxy/nginx(7) Temproarily(临时重定向)—&gt...

AmourHaiti的博客 522

Varnish——企业CDN缓存系统

一、基本概念 1.varnish 是什么? Varnish是一款高性能、开源的反向代理服务器和缓存服务器。Varnish使用内存缓存文件来减少响应时间和网络带宽消耗。(反向代理:隐藏真实服务器信息, 正向代理:隐藏真实客户端信息) 2.varnish与squid的区别 Varnish的功能与Squid服务器相似,都可以用来做HTTP缓存 Squid是从硬盘读取缓存的数据,而Varnish把数据存放...

weixin_44209804的博客 371

Varnish搭建CDN内容分发网络

Varnish搭建cdn网络 CDN分发网络: CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节, 使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络, CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信...

lilygg的博客 397

企业CDN缓存系统Varnish——搭建最基本varnish系统

一、什么时Varnish 1.Varnish是一个反向HTTP代理,有时称为HTTP加速器或web加速器。 2. Varnish将文件或文件片段存储在内存中,使它们能够快速被提供。 3.Varnish本质上是一个键/值存储,它通常使用URL作为键。 二、Varnish缓存重要性 使用缓存有两个前提条件: 一是数据访问热点不均衡,某些数据会被更频繁的访问,这些数据应该放在缓存中; 二是数据在某个时间...

CapejasmineY的博客 382

企业CDN缓存之varnish

讲这部分之前,我们先来了解一下什么是CDN和varnish,以及varnish的优势。 CDN介绍 CDN的全称是(Content Delivery Network),即内容分发网络;加速器,反向代理缓存。CDN系统能够实时的根据网络流量和各节点的连接,负载状况以及到用户的举例和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,其目的是使用户可以就近取得所需内容,解决Internet网...

weixin_45436958的博客 392
上一篇: Python基础 part8 字符定义的类型 dict
下一篇: 企业 4层缓存负载均衡软件操作-lvs DR模式
Howei__
博客等级 码龄7年 42粉丝 95原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Howei__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值