Varnish安装
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,varnish安装systemctl stop firewalld //关闭防火墙setenforce 0 //关闭监控yum install lrz* -y
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
网络技术 简介
网店的网络安全防护有几类
网络安全南邮作业答案
海淀服务器硬盘回收
北京银联网络技术服务哪家好
湖北电脑软件开发价格表
大学有游戏软件开发专业吗
焦作公安局网络安全
服务器压测软件
小潮的服务器地址
商丘想象力网络技术公司
数据库工程师需要准备什么
wtl 数据库
数据库坐标怎么做
有哪些最好的云服务器
服务器主板零件认识图解
衡阳长沙会员管理软件开发
敏捷软件开发时主要的因素
能用服务器内存的主板
曙光服务器型号
怎么用手机查看云服务器
网络安全 的案列
斯普林克数据库
泾县智能软件开发服务调整
软件开发管理的控制框架
恐龙岛正式服服务器怎么设置
中兴软件开发总工高旭升
武汉农商行软件开发
云南白药软件开发测试
数据库维护技术