企业CDN缓存系统varnish 您所在的位置:网站首页 清除cdn端的缓存 企业CDN缓存系统varnish

企业CDN缓存系统varnish

2023-01-01 16:33| 来源: 网络整理| 查看: 265

1.CDN的定义

CDN的全称是Content Delivery Network,称为内容发布网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容发布、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术有内容存储和分发技术。

2.varnish的定义

Varnish是一款高性能的开源HTTP加速器,罗威最大的在线报纸 Verdens Gang使用三台varnish代替了原来的12台Squid代理缓存服务器,性能比以前更好了。 在一般企业中,他们不用自己搭建varnish服务器,通过使用别人做好的,一般专门做这一类的公司才会自己搭建 为什么varnish性能比Squid的性能好呢? squid加速器(代理缓存服务器)是将从服务器要回来的资源放在自己的硬盘里,客户读取的速率慢,代理的效率很低。 varnish加速器(代理缓存服务器)是将从服务器要回来的资源放在自己的内存里,客户读取的速率很快,代理的效率高。

3.varnish的工作方式

(1)仅仅作为一个代理服务器:帮客户端去问服务端要数据,要回来的数据直接给客户端自己不缓存一份,这种情况是客户的隐私信息,热点信息,更新比较快的数据,不缓存,只代理。 (2)既代理又缓存:帮客户端去问服务端数据,要回来的数据先给自己缓存一份,然后再发给客户端,这种情况是用于更新比较慢的数据,此时varnish既缓存又代理。

【注】实验环境: rhel7_node1做varnish代理缓存服务器; rhel7_node2做web服务器; rhel7_node3做

4.安装varnish

首先rhel7_node1中安装varnish: 在varnish官网中找到适合的rpm安装包下载下来 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200427170728110.png?x-oss- 接着配置好yum源后安装 安装时会报错,提示缺少jemalloc包 下载jemalloc包 下载完成后,再次安装varnish 查看一下安装结果

5.varnish服务的配置

(1)首先我们来看一下varnish的启动脚本 /usr/lib/systemd/system/varnish.service 是varnish服务启动脚本,里面有一些基本最基本的参数:允许开启的文件个数,内存锁定大小

systemctl status varnish ##查看varnish服务的状态

vim /usr/lib/systemd/system/varnish.service ##打开varnish服务的启动脚本

ulimit -l ##查看系统内存大小 sysctl -a | grep file ##查看系统允许开启文件的最大个数 (2)系统参数限制文件:/etc/security/limits.conf

vim /etc/security/limits.conf

(3)打开varnish服务,查看端口 验证一下,看服务是否可以访问

6.将rhel7_node2搭配成一个web服务器 yum install httpd -y ##首先安装httpd systemctl start httpd ##开启httpd服务 systemctl status httpd ##查看服务的状态 echo www.westos.org > /var/www/html/index.html ##将www.westos.org导入到apache默认发布页面中 curl localhost ##可以看到web已经搭建好了

7.将rhel7_node1作为代理服务器,rhel7_node2作为web服务器进行测试 vim /etc/varnish/default.vcl

在客户机浏览器中访问varnish代理缓存服务器(rhel7_node1),可以看到rhel7_node2(web服务器)的默认发布页面的信息。

8.master进程和child 进程

varnish开启俩个进程,一个master进程,一个child进程 master(management)进程:主要是读取配置和fork 监控子(child)进程。 child(worker,主要做cache的工作进程):真正用于处理用户请求。

cat /proc/9314/status ##查看master进程的状态

cat /proc/9324/status ##查看child进程的状态

9.varnish的缓存 vim /etc/varnish/default.vcl

当客户主机node3去访问varnish代理缓存服务器时 varnish默认系统每隔120秒清理一下缓存,以便将数据随时进行更新,给用户的体验带来保障 也可以手动清理varnish服务器中的换存

varnishadm ban req.url "~" / ##清楚/下所有缓存

客户机再次访问:

varnishadm ban req.url /index.html ##清除varnish服务器中/Index.html 网页的缓存

在客户机中测试:



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有