热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Varnish缓存负载均衡backend的实现

简介:varnish:是一款高性能并且开源的反向代理服务器和http加速器,据官方称可有300-1000倍的速度提升,它采用了全新的软件体系结构,和现在的硬件体系紧密结合,和传统的squi

简介:

varnish是一款高性能并且开源的反向代理服务器和http加速器,据官方称可有300-1000倍的速度提升,它采用了全新的软件体系结构,和现在的硬件体系紧密结合,和传统的squid相比,varnish具有性能更高、速度更快、管理更加方便等诸多优点,很多大型的网站都开始尝试使用varnish来替代squid,这些促进了varnish的快速发展。

varnish在架构中扮演的结构角色拓扑图:

0e48bef5631920999566c43618df4073.png

Varnish的负载均衡实验步骤:

环境准备:

在虚拟机上准备3centos7,一台做varnish,其它两台做后端服务器。

Varnish.server          varnish4.0      192.168.146.138       Centos7    

backend_server1       httpd2.4      192.168.146.136          Centos7

backend_server1       httpd2.4      192.168.146.137            Centos7

 

在三台主机主机上关闭防火墙和selinux

关闭防火墙:

centos7

systemctl disable firewalld.service       #是让开机启动时关闭防火墙

systemctl stop firewalld.service          # 现在关闭防火墙

 iptables CF                    #清除防火墙策略

关闭selinux

sed -i s/^SELINUX=enforcing/SELINUX=disabled/etc/selinux/config

 

 

安装光盘自带的varnish软件包和httpd:

192.168.146.138varnish服务器上安装varnish

yum Cy install varnish

在后端服务器上安装httpd并启动服务

yum Cy install httpd

systemctl start httpd


varnish上的配置:

把默认的8080端口改成80

Vim /etc/varnish/ varnish.params

# VARNISH_LISTEN_ADDRESS=192.168.1.5

VARNISH_LISTEN_PORT=80

 

声明负载均衡:

在主配置文件下/etc/varnish/default.vcl

定义backend主机

import directors;

定义后端服务器的子例程

backend srv1 {

.host ="192.168.146.137";  #指明后端主机

.port = "80";

.probe = healty;

}

backend srv2 {

    .host = "192.168.146.136";

    .port ="80";

    .probe = healty;

}

vcl_recv中调用

set req.backend_hint = srvs.backend(); 

因缓存的作用需要设置不缓存的方式才可检测出来

Sub vcl_recv {

  Set req.backend_hint = webservers.backend();

    if (req.url ~"(?i)^/(login|admin)") {

     return(pass);

}varnishadm登陆命令行终端

varnishadm -S /etc/varnish/secret-T 127.0.0.1:6082

 

加载vcl配置

Vcl.load test1 default.vcl

编译配置文件

use.test1

 

backend后端服务器的配置测试httpd页面

136服务器的配置

cd /var/www/html

mkdir login

echo

login page @BE2

 > /login/index.html

136服务器的配置

cd /var/www/html

mkdir login

echo

login page

 > /login/index.html

 

 

在浏览器上输入192.168.146.138/login,就可以看到本次是轮询方式,看到负载均衡实现了

73682fdbba0873ee50a3c7e021c679e8.png


517a2d5e2187734315699bf3f9e3f93a.png

本文出自 “12180356” 博客,请务必保留此出处http://12190356.blog.51cto.com/12180356/1979166


推荐阅读
  • k8s+springboot+Eureka如何平滑上下线服务
    k8s+springboot+Eureka如何平滑上下线服务目录服务平滑上下线-k8s版本目录“上篇介绍了springboot+Euraka服务平滑上下线的方式,有部分小伙伴反馈k ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文介绍了在Linux系统中设置文件ACL权限的方法和使用说明,包括在centos7.3和centos6.9中开启ACL权限的两种方法:在挂载时指定打开ACL权限和修改默认的属性信息。同时提供了对ACL权限的详细解释和应用场景。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 本文介绍了在无法联网的情况下,通过下载rpm包离线安装zip和unzip的方法。详细介绍了如何搜索并下载合适的rpm包,以及如何使用rpm命令进行安装。 ... [详细]
  • LINUX学习之centos7营救模式
    今天卸载软件的时候,不小心把GNOME的一些组件给卸了,导致桌面无法正常开启,会卡在启动过程中,而我的开机启动模式又是设置为图形界面,所以一开LINUX就卡住了,进入不了命令行界面 ... [详细]
  • 运维入门
    2019独角兽企业重金招聘Python工程师标准本文内容遵从CC版权协议转载请注明出自oschina.netedwinaclaublog#运维入门一个 ... [详细]
  • redis理论知识redis:非关系型数据库基于键值对的形式存储数据的查询效率非常的高没有表之间的约束查询起来比较方便redis特点:1.支持多种数据类型2.支持分布式存储3.功能 ... [详细]
author-avatar
慧萍书群415
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有