varnish 的安装,配置及负载均衡

系统环境:rhel6.5 server8.9安装http服务
server7 172.25.35.7
server8 172.25.35.8
server9 172.25.35.9
[[email protected] ~]# cd varnish/
[[email protected] varnish]# ls
bansys.zip varnish-libs-3.0.4-1.el6.x86_64.rpm
rhel6 varnish.pdf varnish-libs-3.0.5-1.el6.x86_64.rpm
varnish-3.0.4-1.el6.x86_64.rpm Varnish权威指南-中文版.pdf
varnish-3.0.5-1.el6.x86_64.rpm
[[email protected] varnish]# yum install varnish-3.0.5-1.el6.x86_64.rpm varnish-libs-3.0.5-1.el6.x86_64.rpm
[[email protected] varnish]# vim /etc/varnish/default.vcl

[[email protected] varnish]# /etc/init.d/varnish start
[[email protected] varnish]# curl 172.25.35.8 简单测试一下
[[email protected] varnish]# vim /etc/sysconfig/varnish
7 # Maximum number of open files (for ulimit -n)
8 NFILES=65535
9
10 # Locked shared memory (for ulimit -l)
11 # Default log size is 82MB + header
12 MEMLOCK=64000
13
14 # Maximum number of threads (for ulimit -u)
15 NPROCS="unlimited"
66 VARNISH_LISTEN_PORT=80
[[email protected] varnish]# vim /etc/security/limits.conf
51 varnish - nofile 65535
server8 写 测试页
[[email protected] ~]# touch /var/www/html/index.html
[[email protected] ~]# echo "<h1>server8<h1>">/var/www/html/index.html
物理机测试:
[[email protected] ~]# vim /etc/hosts
172.25.35.7 server7 www.redhat.org #解析
[[email protected] ~]# curl 172.25.35.7
<h1>server8<h1>
[[email protected] ~]# curl www.redhat.org
<h1>server8<h1>
浏览器访问:

###查看缓存命中情况
[[email protected] ~]# vim /etc/varnish/default.vcl
sub vcl_deliver {
if (obj.hits > 0) {
set resp.http.X-Cache = "HIT from westos cache";
}
else {
set resp.http.X-Cache = "MISS from westos cache";
}
return (deliver);
}

[[email protected] ~]# /etc/init.d/varnish reload
###测试缓存命中###第一次为MISS,第二次以后为HIT
[[email protected] ~]# curl -I www.redhat.org
HTTP/1.1 200 OK
Server: Apache/2.2.15 (Red Hat)
Last-Modified: Thu, 28 Jun 2018 07:01:14 GMT
ETag: "3fe8f-10-56fae4c10bfcc"
Content-Type: text/html; charset=UTF-8
Content-Length: 16
Accept-Ranges: bytes
Date: Thu, 28 Jun 2018 07:43:48 GMT
X-Varnish: 657573205
Age: 0
Via: 1.1 varnish
Connection: keep-alive
X-Cache: MISS from westos cache

[[email protected] ~]# curl -I www.redhat.org
HTTP/1.1 200 OK
Server: Apache/2.2.15 (Red Hat)
Last-Modified: Thu, 28 Jun 2018 07:01:14 GMT
ETag: "3fe8f-10-56fae4c10bfcc"
Content-Type: text/html; charset=UTF-8
Content-Length: 16
Accept-Ranges: bytes
Date: Thu, 28 Jun 2018 07:45:02 GMT
X-Varnish: 657573206 657573205
Age: 73
Via: 1.1 varnish
Connection: keep-alive
X-Cache: HIT from westos cache

通过 varnishadm 手动清除缓存

通过 varnishadm 手动清除缓存

varnishadm ban.url .*$ #清除所有#
varnishadm ban.url /index.html #清除 index.html 页面缓存#
varnishadm ban.url /admin/$ #清除 admin 目录缓存
定义多个不同域名站点的后端服务器
[[email protected] ~]# vim /etc/varnish/default.vcl
sub vcl_recv { if (req.http.host ~ "^(www.)?redhat.org") { set req.http.host = "www.redhat.org"; set req.backend = web1; } elsif (req.http.host ~ "^bbs.redhat.org") { set req.backend = web2; } else {error 404 "redhat cache"; }}
#当访问 www.westos.org 域名时从 web1 上取数据,访问 bbs.westos.org 域名时到 web2 取数据,访问其他页面报错。

[[email protected] ~]# /etc/init.d/varnish reload
Loading vcl from /etc/varnish/default.vcl
Current running config name is reload_2018-06-28T15:43:07
Using new config name reload_2018-06-28T16:13:06
VCL compiled.

available 0 boot
available 2 reload_2018-06-28T15:43:07
active 0 reload_2018-06-28T16:13:06
物理机测试:
[[email protected] ~]# curl bbs.redhat.org
server9
[[email protected] ~]# curl www.redhat.org
<h1>server8<h1>
浏览器访问:


定义负载均衡
#定义健康检查 ##可不配置
probe healthcheck { .url = "/index.html"; # 哪个 url 需要 varnish 请求 .interval = 5s; #检查的间隔时间
.timeout = 1s; #等待多长时间探针超时
.window = 5; #维持 5 个 sliding window 的结果
.threshold = 3; #至少有三次 window 是成功的,就宣告 bachend 健康 }

[[email protected] ~]# vim /etc/varnish/default.vcl
director lb round-robin { #把多个后端聚合为一个组,并检测后端健康状况 { .backend = web1; }
{ .backend = web2; }
}
sub vcl_recv {
if (req.http.host ~ "^(www.)?redhat.org") {
set req.http.host = "www.redhat.org";
set req.backend = lb ;
return (pass); #为了测试方便,不进行缓存。
} elsif (req.http.host ~ "^bbs.redhat.org") {
set req.backend = web2;
} else {error 404 "redhat cache";
}
}
物理机测试;
[[email protected] ~]# for i in {1..10}; do curl www.redhat.org;done
<h1>server8<h1>
<h1>server 9 </h1>
<h1>server8<h1>
<h1>server 9 </h1>
<h1>server8<h1>
<h1>server 9 </h1>
<h1>server8<h1>
<h1>server 9 </h1>
<h1>server8<h1>
<h1>server 9 </h1>

原文地址:http://blog.51cto.com/13810716/2133834

时间: 2024-11-05 01:56:37

varnish 的安装,配置及负载均衡的相关文章

office web apps部署,配置https,负载均衡(四)安装office web apps相关软件

前提条件: 1.一台windows server 2008R2服务器,并且已经配置了域: 服务器连接域控制器的相关文档,请查看上一篇文章:office web apps部署,配置https,负载均衡(三)服务器连接域控制器 2.相关软件地址 链接:https://pan.baidu.com/s/1TMCRyS4-_VAWxz236eG8zg 提取码:5xki 具体步骤: 1.用域账号登录服务器,同时配置安全策略,保证域账号有管理员权限,安全策略的配置,在office web apps部署,配置h

mysql复制+keepalived+haproxy配置(负载均衡)

双主+keepalived+haproxy配置(负载均衡) 实验系统:CentOS 6.5_x86_64实验前提:防火墙和selinux都关闭实验软件:keepalived-1.2.13 haproxy-1.8.13 mysql—5.7.21主1 ip:192.168.226.134主2 ip:192.168.226.135vip 192.168.226.150 一.安装mysql 获取mysql安装包:wget https://dev.mysql.com/get/Downloads/MySQL

劳动节配置F5负载均衡配置小结

2014年5月1日是劳动节,是劳动人民应该休息的节日,呵呵结果这几天却是作死的节奏,天天加班到2点半,真实很辛苦呀,整个过程很艰辛但是结果是好的. 1.配置LC1600链路负载均衡,首先要激活license的.在system-license-Re activacte 2.要创建VLAN,由于是联通线路.电信线路和下行线路,就创建vlan_cnc vlan_ctc vlan1,每个vlan要设置对应的端口,比如vlan_cnc对应光纤口2.1 3.创建完vlan 要写selfip即每个vlan的地

CentOS 6.5安装lvs+keepalive负载均衡+故障转移nginx

环境 192.168.1.219为keepalived和lvs的VIP地址 192.168.1.222为keepalived的主并安装ipvsadm 192.168.1.221为keepalived的从并安装ipvsadm 192.168.1.218为nginx web服务器 192.168.1.220为nginx web服务器 在192.168.1.222下载keepalived和ipvsadm mkdir /root/repo cd /root/repo wget http://www.li

Window 2008 IIS配置LVS负载均衡一

      LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.承载于 IIS 的 WCF 服务的项目采用LVS + KEEPALIVED + WINDOWS SERVER 2008 R2 的方式实现高可用负载均衡. 1.设置 Windows Loopback Adapter 以上就是配置好了我们的lvs 网卡. 2.修改客户端网卡接口.环回接口连接模式 以管理

CentOS6.5安装nginx及负载均衡配置

所有的安装包可以去以下地址下载,或者自行去官网下载,下面都有介绍. 所有安装包地址:http://download.csdn.net/detail/carboncomputer/9238037 原文地址:http://www.cnblogs.com/zhongshengzhen/p/nginx.html 1.下载PCRE, 是一个用C语言编写的正则表达式函数库 [[email protected] pcre-8.36]# cd /tmp/download/ [[email protected]

[转]CENTOS 6.5 配置YUM安装NGINX+服务器负载均衡

原文连接: CENTOS 6.5 配置YUM安装NGINX  http://blog.sina.com.cn/s/blog_69f467b70102uyux.html 本文介绍一下如何用yum源安装Nginx. 第一步,在/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo: cd /etc/yum.repos.d/ vim nginx.repo 填写如下内容: [nginx] name=nginx repo baseurl=http://nginx.org/packa

HAProxy+Varnish+LNMP实现高可用负载均衡动静分离集群部署

HAProxy高可用负载均衡集群部署 基本信息: 系统平台:VMware WorkStation 系统版本: CentOS Linux release 7.2.1511 (Core) 内核版本: 3.10.0-327.el7.x86_64 集群架构: 前端:HAProxy 1.虚拟FQDN:www.simpletime.net 2.VIP:192.168.39.1:DIP:172.16.39.50 3.调度服务器:Varnish1.Varnish2 4.调度算法:URL_Hash_Consist

基于HAProxy+Varnish实现动静分离、负载均衡的高可用集群

拓扑结构介绍 在实际的生产使用过程中,一个基本的能够应对日均百万PV的网络,一般会具有以下几种结构. 这其中每种结构担负了不同的角色. 代理服务器,负责进行请求调度,实现了负载均衡. KeepAlived配置代理服务器实现了高可用. 缓存服务器,实现了资源的缓存,提高了请求的命中率,加快了访问速度. 动静分离,减轻后端服务器压力,提高资源访问速度. 数据库主从复制,读写分离,降低了数据库的压力 运维监控系统,实时监控系统运行状态. 自动化运维控制系统,批量管理大量服务器. 版本控制系统,在应用的