企业级--CDN及varnish介绍

一、varnish简介

1.varnish是什么?

Varnish是一款高性能且开源的反向代理服务器和http加速器(缓存服务器)。Varnish使用内存缓存文件来减少响应时间和网络带宽消耗。

2.varnish的特点

Varnish访问速度更快,Varnish采用了“Visual Page Cache”技术,所有缓存数据都直接从内存读取,而squid是从硬盘读取,因而Varnish在访问速度方面会更快。(所以说varnish有个缺点,当varnish进程一旦被down,缓存数据都会从内存中完全释放,此时所有请求都会发送到后端服务器,在高并发情况下,会给后端服务器造成很大压力。)
Varnish可以支持更多的并发连接,因为Varnish的TCP连接释放要比Squid快。因而在高并发连接情况下可以支持更多TCP连接。
Varnish可以通过管理端口,使用正则表达式批量的清除部分缓存,而Squid是做不到的。
squid属于是单进程使用单核CPU,但Varnish是通过fork形式打开多进程来做处理,所以是合理的使用所有核来处理相应的请求。

 事实上,varnish整体的性能将会高于squid;

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

做此实验需要三台虚拟机。为了虚拟机的建立方便,我们用7.5的镜像建立一个母盘,并且封装好。
母盘的一些基本信息:
1.网络:
ip:172.25.7.1 #真机ip172.25.7.250,和真机同一个网段。
GATEWAY=172.25.7.250
DNS1=114.114.114.114
2.yum源:
进到/etc/yum.repos.d/目录下:
vim xxxx.repo #编辑文件
[rhel7.5]
name=rhel7.5
baseurl=http://172.25.7.250/rhel7.5 #网络源,方便后面通过快照建立的虚拟机使用yum源。
gpgcheck=0
3.NetworkManager 和firewalld 都关闭,且设为开机自启。


建立快照:

建立三个快照虚拟机:
qemu-img create -f qcow2 -b sunlele.qcow2 node1
qemu-img create -f qcow2 -b sunlele.qcow2 node2
qemu-img create -f qcow2 -b sunlele.qcow2 node3
-f 表示格式,-b表示从哪个母盘建立 node1表示建立的快照虚拟机文件

三个快照虚拟机的ip:
node1:172.25.7.1
node2:172.25.7.2
node3:172.25.7.3


本次实验思路:
真机172.25.7.250充当客户端,node1充当CDN代理服务器,node2和node3是后端服务器。

二、CDN-node1服务器的环境配置

1.安装软件

在node1上下载配置CDN所需软件:
1.varnish-6.3.1-1.el7.x86_64.rpm
2.jemalloc-3.6.0-1.el7.x86_64.rpm #varnish依赖性软件

yum install jemalloc-3.6.0-1.el7.x86_64.rpm -y#先安装依赖性软件
yum install varnish-6.3.1-1.el7.x86_64.rpm -y #解决了依赖性,再安装varnish
安装完毕后看一下配置文件的路径:
rpm -qc varnish-6.3.1-1.el7.x86_64

在这里插入图片描述

2.查看varnish信息

1.在linux系统中,id前1000的都是为系统用户留的id
在这里插入图片描述
2.查看varnish服务文件
在这里插入图片描述
3.查看varinsh管理信息

在这里插入图片描述
4.更改锁定内存
在这里插入图片描述

5.更改最大打开文件的个数
(1)查看varnish最大支持的打开文件数
vim /usr/lib/systemd/system/varnish.service
在这里插入图片描述
(2)查看系统支持的最大打开文件数
在这里插入图片描述
系统最大支持的是97785,小于varnish最大打开的数量,为了将varnish的鑫风能发挥到极致。将最大打开数调为131072,首先应该升级硬件,将node1的RAM升级成2G.

在这里插入图片描述在这里插入图片描述6.将更改后的varnish配置信息写入安全文件中
vim /etc/security/limits.conf
在这里插入图片描述

3.varnish实现CDN加速(单个后端的部署)

node1
1.修改varnish的默认文件
vim /etc/varnish/default.vcl
在这里插入图片描述
2.开启服务
systemctl start varnish
node2:
1.yum intstall httpd -y
2.vim /var/www/html/index.html
222
3.systemctl start httpd

客户端,真机
3.客户端(真机)测试

在这里插入图片描述
为什么被拒?
需要改端口。。。

vim /usr/lib/systemd/system/varnish.service

在这里插入图片描述在这里插入图片描述客户端再次测试:
在这里插入图片描述

三、查看缓存命中情况

配置node1:
1.vim /etc/varnish/default.vcl
在这里插入图片描述
2.systemctl restart varnish

真机测试:
在这里插入图片描述

四、手动清除缓存

<1>清除所有缓存
在varnish的所有缓存清除之前,真机的测试结果:

在这里插入图片描述在varnish端清除缓存:
在这里插入图片描述客户端再次测试:
在这里插入图片描述<2>清除页面缓存
清除之前的结果,是hit:
在这里插入图片描述varnish端清除:
在这里插入图片描述客户端再次查看,就变成miss了:
在这里插入图片描述

五、图形化清除缓存

node1上:
1.安装http,编写配置文件:

yum install httpd -y 
因为varnish占用的80端口,所以需要把httpd服务的默认端口改为其他端口

vim /etc/httpd/conf/httpd.conf
在这里插入图片描述
systemctl restart httpd #重启服务

2.下载bansys.zip ,并进行解压
yum install unzip -y #下载解压命令软件
unzip bansys.zip -d /var/www/html/ #指定解压目录

3.安装php(使得httpd服务可以识别php格式的内容)
yum install php -y

4.编辑发布内容,并重启服务

1.cd /var/www/html/bansys
2.mv * ..    #将bansys里的东西移动到上层目录
3.cd /var/www/html  #进入上层目录
4.vim config.php #编写配置文件
5.systemctl restart httpd

在这里插入图片描述5.修改varnish 服务的默认配置文件,并重启服务


服务报错,未解决
在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值