教你搭--高性能缓存服务器varnish
admin
2023-03-13 01:41:11
0
            Varnish是一款高性能的、开源的反向代理服务器和缓存服务器。计算机系统的内存除了主存外,还有CPU的L1、L2,甚至L3级别的缓存。Varnish的设计架构就是利用操作系统的缓存机制处理访问

http://varnish-cache.org/
教你搭--高性能缓存服务器varnish

    实验拓扑:
                        Varnish服务器:         192.168.80.101
                        WEB服务器1:           192.168.80.102
                        WEB服务器2:            192.168.80.103

Varnish服务器配置:
yum install -y \
libtool \
ncourses-devel \
pcre-devel \
libedit-devel \
libxslt \
groff \
pkgconfig \
ncurses-devel \
python-*

rpm -ivh /root/libedit-devel-3.0-12.20121213cvs.el7.x86_64.rpm
rpm -ivh /root/python-docutils-0.11-0.2.20130715svn7687.el7.noarch.rpm

tar xzvf varnish-5.2.1.tgz -C /opt
cd /opt/varnish-5.2.1

sh autogen.sh //检查环境
echo $? //是0就没问题

./configure \
--prefix=/usr/local/varnish \
--enable-debugging-symbols \
--enable-developer-warnings

make && make install

cd /usr/local/varnish/
ln -s /usr/local/varnish/sbin/varnishd /usr/sbin/
ln -s /usr/local/varnish/bin/* /usr/local/bin/

cp /usr/local/varnish/share/doc/varnish/example.vcl /usr/local/varnish/default.vcl

vi /usr/local/varnish/default.vcl //修改主机和端口号为第一台业务服务器

backend default {
.host = "192.168.80.102"; //第一台web服务器的ip地址
.port = "80";
}

varnishd -f /usr/local/varnish/default.vcl -a 0.0.0.0:80 //启动varnishd
netstat -anpt | grep varnishd //监听在80端口上

service firewalld stop
setenforce 0

WEB服务器1配置:
yum install -y httpd
vi /var/www/html/index.html

server AA!!!

service httpd start

service firewalld stop
setenforce 0

验证测试:
真机:http://192.168.80.101/ //访问varnishd服务器的地址,能够访问到第一台服务器内容
教你搭--高性能缓存服务器varnish

varnishlog //实时滚动日志,当页面刷新的时候日志会记录
教你搭--高性能缓存服务器varnish
tail –f /var/log/httpd/access_log //在业务服务器端查看日志信息,可以看到访问的是代理端
地址
教你搭--高性能缓存服务器varnish

---------------------------------配置多服务器负载---------------------------
Varnish服务器配置:

vi /usr/local/varnish/default.vcl
vcl 4.0;
import directors; //新增一行,导入一个directors

-----以下增加业务服务器节点-----
backend web1 {
.host = "192.168.80.102";
.port = "80";
}
backend web2 {
.host = "192.168.80.103";
.port = "80";
}

-----接着以上代码接着定义调度算法及指定流量转发----
sub vcl_init {
new bar = directors.round_robin(); //random(随机) round_robin dns
bar.add_backend(web1);
bar.add_backend(web2);
}
sub vcl_recv {
set req.backend_hint = bar.backend(); //流量转发给所有结点 注意括号
}

varnishd -C -f /usr/local/varnish/default.vcl > /dev/null //检查配置文件是否有错误

pkill varnishd
varnishd -f /usr/local/varnish/default.vcl
netstat -anpt | grep varnishd

WEB服务器2配置:
yum install -y httpd
vi /var/www/html/index.html

server BB!!!

service httpd start

service firewalld stop
setenforce 0

验证:
http://192.168.80.101/ //刷新测试就可以了看到轮询的效果了
教你搭--高性能缓存服务器varnish
教你搭--高性能缓存服务器varnish

停止一台服务器WEB1,调度器并不感知。
教你搭--高性能缓存服务器varnish
教你搭--高性能缓存服务器varnish

以下配置健康检查----在每台业务服务器配置下接着新增
web1配置
backend web1 {
.host = "192.168.80.102";
.port = "80"; //下面新增
.probe = {
.url = "/";
.interval = 5s;
.timeout = 1s;
.window = 5;
.threshold = 3; //3次检查没有问题才认为健康
}
}
---web2配置相同----
backend web2 {
.host = "192.168.80.103";
.port = "80";
.probe = {
.url = "/";
.interval = 5s;
.timeout = 1s;
.window = 5;
.threshold = 3;
}
}

varnishd -C -f /usr/local/varnish/default.vcl > /dev/null
pkill varnishd
varnishd -f /usr/local/varnish/default.vcl
netstat -anpt | grep varnishd

浏览器测试,并关闭一台业务服务器2再测试。注意客户端浏览器缓存问题。不会再跳转关闭服务器内容了。
教你搭--高性能缓存服务器varnish

相关内容

热门资讯

浏阳烟花厂爆炸事故4名重症患者... 截至今天(9日)上午11时,浏阳烟花厂爆炸事故在院患者42人,原5名重症患者中4人已转为轻症;在院患...
中东战火不断,为何全球股市不跌... 最近与一位美国学者交流,他讲到一个颇有意味的场景:在华尔街一场交流中,包括他在内的3位国际问题研究专...
景区回应“母亲节穿旗袍免费入园... 近日,南京天生桥景区推出的母亲节当天女士穿旗袍免费入园活动引发争议,有人认为母亲节女士穿旗袍活动,策...
一本正经胡说八道,谁为AI幻觉... AI幻觉频发,误导用户、毁损名誉的责任,该由谁来承担?南京律师李小亮在百度上搜索自己的信息,结果百度...
老人在直播间疯狂刷火箭 周佳欣、郑凯丹、朱娅、蒋婉、黄铃、王佳、李婉晴/文64岁的王雅达又往直播间里刷了一枚“火箭”。屏幕上...
汉坦病毒阳性乘客在乌斯怀亚港登... 自世卫组织(WHO)5月6日公布荷兰泛海探险公司(Oceanwide Expeditions)旗下极...
冰箱不制冷的原因有哪几种 冰箱的电压在正常的情况下,压缩机没有正常的运转,而且有噪声和旋转的声音,压缩机一旦出现故障,冰箱就会...
电视有哪几种方法 电视是我们生活中非常重要的一种媒介,它可以为我们带来大量的信息、乐趣和娱乐。在现代社会中,电视的使用...
装修风格有哪几种(今年流行的装... 摘要:装修的方式有很多种,下面这些就是我们在装修中常用的一种。①现代风,也叫功能派风,这个装修风格的...
大红鹰瓷砖哪里生产的 最佳回答 大红鹰瓷砖是广东佛山非常有名的一个瓷砖老品牌,据说这个品牌的瓷砖是在1974年成立的,老一...