cdn加速之varnish

2024-01-31 08:58
文章标签 加速 cdn varnish

本文主要是介绍cdn加速之varnish,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

实验环境:

一个客户端,一个反向代理,多个后端服务器
代理服务器关掉防火墙,selinux设置为disabled,让它们处于同一个网段,方便测试

代理:cdn加速,反向代理,负载均衡
客户端:测试
后端服务器:提供服务

正向代理:客户端知道服务器端,但是必须通过一个代理服务器
反向代理:客户端不知道服务器端,知道代理服务器端,访问代理服务器端,由代理服务器转发请求,转发回应消息。

varnish工作原理图

在这里插入图片描述

实验步骤:

1、下载并安装varnish
在这里插入图片描述
2、修改配置文件
1)、/etc/varnish/varnish.params :修改端口为80
在这里插入图片描述
2)、 /etc/varnish/default.vcl :添加代理服务器的信息

backend default {.host = "代理的ip地址".port = "80"
}

2、配置缓存命中
1)、/etc/varnish/default.vcl在这里插入图片描述
2)、测试

curl -I 代理服务器ip地址

在这里插入图片描述

3、清空缓存
1)、命令清空缓存:

varnishadm ban.url "~" / 	//清除所有
varnishadm ban.url "~" /index.html	//清除index.html页面缓存

2)、界面清空缓存:
获取压缩包bansys.zip
在这里插入图片描述
配置:

yum install httpd php unzip -yunzip bansys.zip -d /var/www/html/	#-d指定解压路径
cd /var/www/html/
ls
mv bansys/* ../	#把解压的内容移到上以及目录/var/www/html

配置 /var/www/html/config.php 文件:

<?php
//varnish主机列表//可定义多个主机列表$var_group1 = array('host' => array('172.25.60.1'),'port' => '8080',                        );//varnish群组定义//对主机列表进行绑定$VAR_CLUSTER = array('www.westos.com' => $var_group1,);
?>

/etc/varnish/default.vcl:设置访问控制,缓存清理功能

 acl westos {		#设置访问控制"127.0.0.1";	#允许自己"172.25.60.0"/24;	#允许172.25.60/24网段
}if (req.method == "BAN") {if (!client.ip ~ westos) {return (synth(405,"Not allowed."));}ban("req.url ~ " + req.url);return(purge);					#清理缓存
}

4、反向代理
1)、vim /etc/varnish/default.vcl

#配置两个web服务器
backend web1 {
.host = "172.25.60.2";
.port = "80";
}
backend web2 {
.host = "172.25.60.3";
.port = "80";
}

#当访问 www.westos.org 域名时从 web1 上取数据,访问 bbs.westos.org 域名时到 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));
}

2)、客户端解析测试

根据本地解析,都解析到了172.25.1.101(server1),它通过varnish的配置文件规则访问不同的服务器
在这里插入图片描述
在这里插入图片描述
5、负载均衡
1)、 /etc/varnish/default.vcl

##导入directors模块,进行轮询等操作
import directors from "/usr/lib64/varnish/vmods/libvmod_directors.so";##定义负载均衡模式
sub vcl_init {new lb = directors.round_robin();		//轮询上面定义的两个站点web1和web2lb.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();	#访问www.westos.org去轮询web1h和web2return(pass)#因为存在缓存,为了测试方便,不进行缓存。} elsif (req.http.host ~ "^bbs.westos.org") {set req.backend_hint = web2;		#访问bbs.westos.org时去访问web2} else {return (synth(405));}
}

2)、测试
在这里插入图片描述

这篇关于cdn加速之varnish的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/663208

相关文章

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网

速盾:直播 cdn 服务器带宽?

在当今数字化时代,直播已经成为了一种非常流行的娱乐和商业活动形式。为了确保直播的流畅性和高质量,直播平台通常会使用 CDN(Content Delivery Network,内容分发网络)服务器来分发直播流。而 CDN 服务器的带宽则是影响直播质量的一个重要因素。下面我们就来探讨一下速盾视角下的直播 CDN 服务器带宽问题。 一、直播对带宽的需求 高清视频流 直播通常需要传输高清视频

PyInstaller问题解决 onnxruntime-gpu 使用GPU和CUDA加速模型推理

前言 在模型推理时,需要使用GPU加速,相关的CUDA和CUDNN安装好后,通过onnxruntime-gpu实现。 直接运行python程序是正常使用GPU的,如果使用PyInstaller将.py文件打包为.exe,发现只能使用CPU推理了。 本文分析这个问题和提供解决方案,供大家参考。 问题分析——找不到ONNX Runtime GPU 动态库 首先直接运行python程序

机器人助力上下料搬运,加速仓库转运自动化

近年来,国内制造业领域掀起了一股智能化改造的浪潮,众多工厂纷纷采纳富唯智能提供的先进物流解决方案,这一举措显著优化了生产流程,实现了生产效率的飞跃式增长。得益于这些成功案例,某信息技术服务企业在工厂智能物流建设的进程中,也选择了与富唯智能合作。 为了应对日益增长的物料搬运需求,匹配成品输出节拍,该公司引入了富唯智能复合机器人AMR与搬运机器人AGV,实现了仓库成品搬运自动化,大幅减少人工

ACM比赛中如何加速c++的输入输出?如何使cin速度与scanf速度相当?什么是最快的输入输出方法?

在竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,于是从此以后发誓不用cin读数据。还有人说Pascal的read语句的速度是C/C++中scanf比不上的,C++选手只能干着急。难道C++真的低Pascal一等吗?答案是不言而喻的。一个进阶的方法是把数据一下子读进来,然后再转化字符串,这种方法传说中

速盾:全面分析高防 CDN 和 CDN 对比?

在当今数字化时代,网站的性能和安全性对于企业和个人来说至关重要。为了提高网站的访问速度和安全性,许多人会选择使用 CDN(Content Delivery Network,内容分发网络)或高防 CDN。那么,高防 CDN 和普通 CDN 有什么区别呢?下面我们来进行全面分析。 一、CDN 的基本概念和作用 CDN 的定义 CDN 是一种分布式的网络架构,它通过在全球各地部署服务器节点

P0.7全倒装COB超微小间距LED显示屏厂家已量产,加速高清显示的发展

随着P0.7全倒装COB超微小间距LED显示屏技术的成功量产,这一里程碑式的成就不仅标志着高清显示技术迈入了全新纪元,更预示着未来视觉体验将迎来前所未有的变革。各大应用场景,如指挥中心、会议中心、大型活动直播、高端影院乃至家庭娱乐,都将因这项技术而焕发新生。 市场上,消费者对于视觉质量的追求日益高涨,P0.7全倒装COB显示屏以其极致细腻的画质、超高的色彩还原度以及卓越的稳定性,迅速成为行业新宠

鸿蒙(API 12 Beta6版)图形加速【OpenGL ES平台内插模式】超帧功能开发

超帧内插模式是利用相邻两个真实渲染帧进行超帧计算生成中间的预测帧,即利用第N-1帧和第N帧真实渲染帧预测第N-0.5帧预测帧,如下图所示。由于中间预测帧的像素点通常能在前后两帧中找到对应位置,因此内插模式的预测帧效果较外插模式更优。由于第N帧真实渲染帧需要等待第N-0.5帧预测帧生成并送显后才能最终送显,因此会新增1~2帧的响应时延。 OpenGL ES平台 业务流程 基于OpenGL

低代码平台:加速企业制造业数字化转型的新引擎

近期,国家发布了中小企业数字化转型试点城市的政策,旨在通过先行先试,探索支持制造业特别是汽车制造行业数字化转型的有效模式。这一政策的出台,为汽车制造企业的数字化转型提供了强有力的政策支持和方向指引,标志着汽车制造业正迎来一场前所未有的变革。 面对复杂多变的市场需求和日益激烈的市场竞争,汽车制造企业纷纷寻求突破,而低代码平台凭借其快速、灵活、易用的特性,成为了助力这一转型的重要工具。 汽车制造行

word2vec 两个模型,两个加速方法 负采样加速Skip-gram模型 层序Softmax加速CBOW模型 item2vec 双塔模型 (DSSM双塔模型)

推荐领域(DSSM双塔模型): https://www.cnblogs.com/wilson0068/p/12881258.html   word2vec  word2vec笔记和实现 理解 Word2Vec 之 Skip-Gram 模型 上面这两个链接能让你彻底明白word2vec,不要搞什么公式,看完也是不知所云,也没说到本质. 目前用的比较多的都是Skip-gram模型 Go