Varnish安装
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,varnish安装systemctl stop firewalld //关闭防火墙setenforce 0 //关闭监控yum install lrz* -y
千家信息网最后更新 2025年02月02日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-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.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 //安装http
vi /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 varnish
varnishd -f /usr/local/varnish/default.vcl
netstat -anpt | grep varnishd
在另一台linux虚拟机上搭建一个web服务器(80.102):
systemctl stop firewalld //关闭防火墙setenforce 0 //关闭监控yum install -y httpd //安装http
vi /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安全错误
数据库的锁怎样保障安全
数据库常用sql面试题
kali网络安全渗透测试
灰色软件开发工作室
关系数据库理论视频
曲靖有软件开发工作没
警官学院网络安全与执法专业好否
北京易游博通网络技术
云南移动服务器地址云主机
sql维护mes数据库
个人服务器可以下载游戏玩吗
chart连接数据库
昌吉市万项通网络技术有限公司
网络安全讲座推送
专业性网络技术服务是真的吗
网络技术应用知识点哔哩哔哩
查英文论文的数据库
eda软件开发公司
未来的高科技互联网
越秀网络安全运维有哪些
hana 数据库恢复
晶密收费系统服务器一直发红
mtasa服务器
对已签的软件开发合同做增项
网络安全为人民繁体字
云服务器需求估算
小程序和服务器端的通信
科技圈卫星互联网
微客网络技术有限公司
网络技术考试题目
数据库安全性中例举四种