Varnish搭建及配置(反向代理、加速缓存,负载均衡、CDN推送平台搭建)

一、Varnish实现反向代理
1、搭建环境:
server1(172.25.254.1):Varnish代理服务器
server2(172.25.254.2):web服务器1
server3(172.25.254.3):web服务器2
clients(172.25.254.55):测试机
2、搭搭建网络yum源,三台虚拟机都需要配置好yum源:可以参考本文https://blog.csdn.net/weixin_43314056/article/details/83375382

name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.254.55/rhel6.5/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

3、下载Varnish软件包

yum install varnish-* -y

查看varnish配置文件

[root@server1 ~]# rpm -qc varnish

在这里插入图片描述

1)查看Varnish启动要求

vi /etc/sysconfig/varnish
NFILES 最大打开文件个数
MEMLOCK=82000  默认是运行varnish需要82M内存
VARNISH_LISTEN_PORT=80  端口改为80端口 

在这里插入图片描述
在这里插入图片描述
2)查看自己系统最大打开文件数,和内存大小,修改相应的varnish中的系统参数
在这里插入图片描述
4、编辑文件:

vi /etc/security/limits.conf

在这里插入图片描述
在该文件中添加配置信息,告知系统运行varnish所需要的性能参数,达到使计算机可以运行varnish的要求
5、编辑varnish配置文件

vi /etc/varnish/defgault.vcl
  1. 配置后端web服务器
backend default {
  .host = "172.25.254.2";
  .port = "80";
}

在这里插入图片描述
开启varnish服务:/etc/init.d/varnish start
在这里插入图片描述
开启varnish服务后,系统中会打开两个进程,由root和varnish用户开启
在这里插入图片描述
6、server2开启apache服务:

yum install httpd -y
/etc/init.d/httpd start
[root@server2 ~]# cat /var/www/html/index.html 
<h1>www.westos.org--->>server2</h1>

测试:client端curl 172.25.254.1
在这里插入图片描述
上面实验可以通过varnish实现反向代理,但是是否实现缓存,必须重新验证
二、测试客户端是否实现缓存
1、编辑配置文件:

vi /etc/varnish/defgault.vcl

在这里插入图片描述
2、重载varnish服务

/etc/init.d/varnish reload

不能重启服务,不然会清除掉varnish服务器所有缓存信息。

client端重新测试:
当第一次访问时,由于varnish服务器内存空间中没有缓存的网页内容,会显示MISS,varnish服务器会去访问server2的apache服务器,将网页内容缓存下来,回复给client
在这里插入图片描述
第二次访问时:varnish中已经存在从server2中缓存的网页,直接可以将内容回复给client
vi /etc/varnish/defgault.vcl在这里插入图片描述
Varnish服务器清除缓存内容
1、手动清理缓存

varnishadm ban.url .*$	###清除所有缓存
varnishadm ban.url /index.html	###清除网页缓存

在这里插入图片描述
在这里插入图片描述
2、自动清理缓存

vi /etc/sysconfig/varnish

在这里插入图片描述
三、Varnish实现对多个web服务器的访问加速
1、编辑配置文件:

vi /etc/varnish/default.vcl

在这里插入图片描述

2、server2,server3都开启apache,重载varnish服务
client配置本地解析

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

在这里插入图片描述
在这里插入图片描述
四、Varnish配置后端web服务器负载均衡
1、编辑配置文件:

vi /etc/varnish/default.vcl

在这里插入图片描述
2、重载varnish服务
3、server3创建两台虚拟主机:www.westos.org bbs.westos.org;打开80端口

vi /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
    DocumentRoot /www
    ServerName www.westos.org
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /bbs
    ServerName bbs.westos.org
</VirtualHost>              

3、client端测试
在这里插入图片描述
在这里插入图片描述
当用户对某个网页访问量非常大时候,可以保证用户的正常访问,同时防止服务器因为负载过大宕机。
五、CDN推送平台搭建
1、Varnish服务器安装apache和php

yum install php httpd -y

2、下载CDN推送平台软件包,解压到/var/www/html/下

unzip bansys.zip -d /var/www/html/
cd /var/www/html/bansys/
vi config.php

在这里插入图片描述
server1:vi /etc/httpd/conf/httpd.conf
在这里插入图片描述
3、打开浏览器去访问:172.25.254.1:8080
在这里插入图片描述

4、编辑配置文件:

vi /etc/varnish/default.vcl

在这里插入图片描述
5、client端测试能否正常去推送内容
在这里插入图片描述
推送清除缓存内容
在这里插入图片描述
此时client访问的是web2
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43314056/article/details/86655816