Varnish是一款开源的HTTP缓存代理服务器,用于提高Web应用程序的性能和响应速度。它充当位于Web服务器和客户端之间的中间层,通过缓存常用的网页内容来减轻Web服务器的负载并加快网站的加载速度。以下是关于Varnish的主要特点和用途:
主要特点:
-
HTTP加速: Varnish可以加速HTTP请求和响应,将常用的网页内容缓存在内存中,以减少对后端Web服务器的请求次数。
-
高性能: Varnish被设计为高性能缓存服务器,可以在高负载和高流量的情况下提供快速的响应。
-
HTTP压缩: 它支持HTTP内容压缩,可以减少传输数据的大小,从而提高页面加载速度。
-
HTTP缓存控制: Varnish允许您通过HTTP头部控制缓存策略,例如缓存时间、过期时间和响应的可缓存性。
-
HTTP请求重写: 它支持HTTP请求重写,可以根据需要修改或重写HTTP请求。
-
负载均衡: Varnish可以用作负载均衡器,将请求分发到多个后端Web服务器。
-
HTTP内容无效ation: 它允许您将缓存中的内容标记为无效,并在需要时重新获取最新内容。
-
开源和自由: Varnish是开源软件,遵循BSD许可证,可以免费使用和自由修改。
用途:
-
网站性能优化: Varnish用于提高网站的性能和响应速度,通过缓存静态和动态内容,减轻后端Web服务器的负载。
-
负载均衡: 它可以用作反向代理和负载均衡器,将请求分发到多个Web服务器,以提高可用性和可伸缩性。
-
HTTP压缩: Varnish支持HTTP内容压缩,可以减少数据传输的大小,从而减少带宽消耗。
-
CDN加速: 一些内容分发网络(CDN)使用Varnish来加速内容分发,从而更快地将内容传送给全球各地的用户。
-
静态资源缓存: 静态资源(如图像、CSS和JavaScript文件)可以在Varnish缓存中存储,从而减少对Web服务器的请求,提高加载速度。
◆编译安装Varnish◆
1.安装依赖包
#yum install -y libtool ncurses-devel pcre-devel libxslt libedit python-imaging python-docutils
yum install -y pcre-devel python-docutils libedit-dev*
2.编译安装Varnish
wget http://varnish-cache.org/_downloads/varnish-6.0.0.tgz
tar -xzvf varnish-6.0.0.tgz
cd varnish-6.0.0/
./configure --prefix=/usr/local/varnish6
make && make install
ln -s /usr/local/varnish6/sbin/* /usr/sbin/
ln -s /usr/local/varnish6/bin/* /usr/local/bin/
cp -a /usr/local/varnish6/share/doc/varnish/example.vcl /usr/local/varnish6/default.vcl
◆Varnish实现负载均衡并实现页面缓存◆
1.编辑Varnish主配置文件,在相应的区域追加写入以下标★语句
vim /usr/local/varnish/default.vcl
15 # Default backend definition. Set this to point to your content server.
16 backend default {
17 .host = "127.0.0.1";
18 .port = "8080";
19 }
20
★ backend web1 { #均衡web主机1
★ .host="192.168.1.13";
★ .port="80"; #指定端口
★ .probe = { #开启健康检查
★ .url = "/"; #请求的URL路径
★ .interval = 5s; #查询间隔时间
★ .timeout = 1s; #超时时间
★ .window = 5; #滑动窗
★ .threshold = 3; #上次检查.window数量的多少
★ }
★ }
★ backend web2 {
★ .host="192.168.1.14"; #均衡web主机2
★ .port="80"; #指定端口
★ .probe = { #开启健康检查
★ .url = "/"; #请求的URL路径
★ .interval = 5s; #查询间隔时间
★ .timeout = 1s; #超时时间
★ .window = 5; #滑动窗
★ .threshold = 3; #上次检查.window数量的多少,
★ }
★ }
★
★ import directors; #加载directors模块
★
★ sub vcl_init { #缓存及加速-03单-高性能缓存服务器
★
★ new bar = directors.round_robin();
★ bar.add_backend(web1);
★ bar.add_backend(web2);
★
★ }
★
★ sub vcl_recv {
★
★ set req.backend_hint = bar.backend(); #指定backend
★
★ }
2.检查配置文件,并启动Varnish
varnishd -C -f /usr/local/varnish6/default.vcl #检查语法
varnishd -f /usr/local/varnish6/default.vcl #启动
pkill varnishd #关闭Varnish
varnishlog #查看Varnish日志
netstat -anpt | grep varnishd #检查是否启动
3.验证环节
elinks http://127.0.0.1/ #varnish服务器会根据算法分配流量
Varnish是一款高性能的HTTP缓存代理服务器,用于提升Web应用性能,支持HTTP压缩、内容缓存控制和请求重写等功能。可用于网站性能优化、负载均衡、HTTP压缩和CDN加速。
539

被折叠的 条评论
为什么被折叠?



