Varnish安装
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,varnish安装systemctl stop firewalld //关闭防火墙setenforce 0 //关闭监控yum install lrz* -y
千家信息网最后更新 2026年11月03日Varnish安装
varnish安装
systemctl stop firewalld //关闭防火墙setenforce 0 //关闭监控yum install lrz* -y //安装上传软件把 libedit-devel-3.0-12.20121213cvs.el7.x86_64.rpmpython-docutils-0.11-0.2.20130715svn7687.el7.noarch.rpmvarnish-5.2.1.tgz软解包和依赖包拉入
yum install -y gcc gcc-c++ make //安装编译器和环境安装依赖关系包和所需要的插件:yum install -y \libtool \ncourses-devel \pcre-devel \libedit-devel \libxslt \groff \pkgconfig \ncurses-devel \python-*rpm -ivh libedit-devel-3.0-12.20121213cvs.el7.x86_64.rpmrpm -ivh python-docutils-0.11-0.2.20130715svn7687.el7.noarch.rpmtar xf varnish-5.2.1.tgz -C /opt //解压软解包和依赖包
cd /opt/varnish-5.2.1/ //进入解压后的文件夹中定义需要的模块sh autogen.sh //检查系统环境./configure \--prefix=/usr/local/varnish \--enable-debugging-symbols \--enable-developer-warningsmake && make installcd /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.101" .port = "80"}varnishd -f /usr/local/varnish/default.vcl -a 0.0.0.0:80 //指定监听的ip和端口启动varnish netstat -anpt | grep varnishd在另一台linux虚拟机上搭建一个web服务器(80.101):
systemctl stop firewalld //关闭防火墙setenforce 0 //关闭监控yum install -y httpd //安装httpvi /etc/httpd/conf/httpd.conf把ServerName www.example.com:80 前面的#删除vi /var/www/html/ index.htmlserver 1
systemctl start httpd测试,在windows浏览器中输入http://192.168.80.100(varnish服务器的ip地址)Varnishlog #查看日志,实时滚动方式------------以上单台web后端服务器----------------
多台web后端服务器:vi /usr/local/varnish/default.vcl找到以下内容并修改:vcl 4.0;import directors; //新增一行,导入一个directors-----以下增加业务服务器节点-----backend web1 { #把default修改为web1,就是后面的web服务器,有几个web节点就复制几个backend域 .host = "192.168.80.101"; #后端web服务器的地址 .port = "80"; #web服务器端口}backend web2 { .host = "192.168.80.102"; .port = "80";}-----接着以上代码接着定义调度算法及指定流量转发----sub vcl_init { #在init子函数中定义 new bar = directors.round_robin(); //random(随机) round_robin dns#定义服务器组,让新的 bar 等于之前定义的变量directors,后面接轮询(rr)算法 bar.add_backend(web1); #注意这里有几个backend就添加几个 bar.add_backend(web2);}sub vcl_recv { set req.backend_hint = bar.backend(); //流量转发给所有结点 注意括号}varnishd -C -f /usr/local/varnish/default.vcl > /dev/null //检查配置文件是否有错误pkill -9 varnishvarnishd -f /usr/local/varnish/default.vclnetstat -anpt | grep varnishd在另一台linux虚拟机上搭建一个web服务器(80.102):
systemctl stop firewalld //关闭防火墙setenforce 0 //关闭监控yum install -y httpd //安装httpvi /etc/httpd/conf/httpd.conf把ServerName www.example.com:80 前面的#删除vi /var/www/html/index.htmlserver 2
systemctl start httpd在浏览器中输入192.168.80.100由于varnish缓存的原因,当我们访问varnish的时候,并没有像我们预期的那样根据rr算法各自访问后面两台web服务器的不同页面,这时我们让一台web服务器网络中断,这时varnish就会访问到另一台了。后端主机健康检测机制:varnish可以对后端主机进行健康检测,动态进行移除或恢复后端主机调度列表probe healthche { 定义健康检测方法,自定义名称
.url="/index.html"; #检测时请求的URL,默认为"/"
.timeout = 2s; #超时时间
.window = 6 ; #基于最近的多少次检测来判断其健康状态
.threshold = 5; #最近.window中定义的这么次检查中至有.threshhold定义的次数是成功的;
.interval = 2s; #检测频度;
}在定义后端服务器时引用检测方法
backend web1 {
.host = "192.168.80.100";
.port = "80";
.probe = healthche; #引用检测方式
}
在varniadm 命令接口中查看检测状况,健康状态检测backend.list
服务器
服务
检测
健康
主机
文件
算法
防火墙
检查
监控
防火
内容
地址
方式
方法
流量
浏览器
状态
环境
端口
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手磨咖啡
河南云网互联网络科技有限公司
国智互联网科技
科技平台互联网
互联网科技公司发展
平安科技 互联网
互联网科技小额贷款
互联网科技博客
佩信高科技互联网
互联网巨头投资的硬核科技
太原新华互联网科技学校怎么样
上海电发互联网科技有限公司
创业天下互联网科技有限公司
互联网科技创新服务
爱医互联网络科技
智帮互联网科技公司最近动向
抖集互联网科技技术咨询
重庆科技产业互联网有哪些
科技互联网企业在行动
互联网 科技节活动 微视频大赛
互联网科技公司
鸠鸠互联网科技
互联网科技公司发展
玖二柒互联网科技公司待遇
北京三清互联网科技
互联网为啥属于高科技
米聚互联网科技南京有限公司排面
工业互联网山东科技大学
互联网高科技行业有哪些企业
同城互联网络科技