Varnish

一、虚拟机的封装

1、先配置母盘rhel6.5

这里我选择Network insatll

1)现在真机上将6.5镜像挂载到/var/www/html下

2)安装dhcp,配置好dhcp

3)Network insatll安装路径http://172.25.77.250:rhel6.5,选择最小化安装

4)将母盘配置好网络;yum源;本地解析;删除/etc/udev/rules.d/70..文件;安装你需要的软件vim、openssh-clients、lftp等;关闭selinux和iptables;完成后选择poweroff关机

5)清理:virt-sysprep -d rhel6.5

2、进行虚拟机的封装:

1)cd /var/lib/libvirt/images/   执行 qemu-img create -f qcow2 -b rhel6.5.qcow2  vm1 封装

2)查看信息:qemu-img info vm1

3)选择import existing disk  image安装

4)进入后改主机名和ip


此时,主机环境配置完毕

实验主机:172.25.77.1(server1)    varnish

                 172.25.77.2  (server2)           apache

                 172.25.77.1  (server1)           apache             


Vainish配置

第一个步骤:

1)server1上安装varnish

2)   server2上安装apche

3)server1配置一个后端服务器

vimi /etc/varnish/default.vcl
backend web1 {
.host = "172.25.77.2";
.port = "80";
}

4)配置 varnish 服务端口
vim  /etc/sysconfig/varnish
VARNISH_LISTEN_PORT=80

5)真机curl 172.25.77.1测试查看访问内容是不是server2apache发布目录的内容


步骤二:查看缓存命中的情况

server1

1) /etc/security/limits.conf里最后加入varnishi  nofile  65535


2)   /etc/sysconfig/varnihsi 将第八行改为65535

3)/etc/varnihsi/default.vcl加入查看缓存命中的情况 之后reload读取


4))真机测试curl 172.25.77.1 第一次MINSS 第二次HIT 表示成功

5)清除缓存命令:varnishadm ban.url  .*$


步骤三:定义多个不同域名站点的后端服务器

1)server1安装apche服务,即做varnish也作apache服务。也可以在封装一个server3

编辑 vim /etc/httpd/conf/httpd.conf端口改为8080 避免80端口varnish冲突

2)/etc/varnihsi/default.vcl加入个不同域名站点的后端服务器:


当访问 www.westos.org 域名时从 web1 上取数据,访问 bbs.westos.org 域名时到 web2 取数据,
访问其他页面报错。

sub vcl_recv {
if (req.http.host ~ "^(www.)?westos.org") {
set req.http.host = "www.westos.org";
set req.backend = web1;
} elsif (req.http.host ~ "^bbs.westos.org") {
set req.backend = web2;
} else {error 404 "westos cache";
}
}


3)真机编写本地解析


4)真机测试查看



步骤四:把多个后端聚合为一个组,并检测后端健康状况

1)server1在/etc/varnihsi/default.vcl加入:


return(pass)表示不进行缓存

2)真机测试查看是否可以进行健康检查


步骤五:varnish cdn 推送平台

1)server1安装php服务

2)更改php配置文件;将其放到/var/www/html下


$VAR_CLUSTER = array(
'www.westos.org' => $var_group1,
);
表示对主机列表进行绑定

3)真机网页查:172.25.77.8080:/varnish查看




步骤六:设置acl访问控制

1)server1 /etc/varnish/default.vcl 设置


ub vcl_recv {
if (req.request == "BAN") {
if (!client.ip ~ westos) {
error 405 "Not allowed.";
}
ban("req.url ~ " + req.url);
error 200 "ban added";
}
}

2)重新打开ip不再acl列表的机器进行访问查看



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值