varnish

1.虚拟机的封装

选择网络安装

安装地址

内存大小,当内存大小为512M时,安装系统时不会安装图形界面

配置虚拟硬盘

虚拟机名

语言

美式键盘

不使用IPV6

 

时区

root密码

安装

重启

关闭防火墙

设置selinux为disabled

配置ip

重启网络

配置yum源

配置本地解析

设置主机名

关闭该虚拟机,清除该虚拟机缓存

virt-sparsify --compress base.qcow2 new.qcow2   # 该命令可以对base.qcow2进行压缩

创建新虚拟机,该虚拟机读取new.qcow2 的系统文件

导入镜像

选择vm4

选择OS type 和Version

设置内存

设置虚拟机名

打开vm4 虚拟机,设置网络

设置主机名

 

2.varnish

server1:

yum install varnish-libs-3.0.5-1.el6.x86_64.rpm -y

yum install varnish-3.0.5-1.el6.x86_64.rpm -y

vim /etc/varnish/default.vcl

vim /etc/varnish/

/etc/init.d/varnish start

server2:

yum install httpd -y

vim /var/www/html/index.html

/etc/init.d/httpd start

主机:

 

查看缓存是否命中

server1:

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);
}

/etc/init.d/varnish reload

主机:

curl -I 172.25.61.1    #第一次访问,未命中缓存

curl -I 172.25.61.1 #第二次访问,命中缓存

 

清除varnish缓存

varnishadm ban.url  # 清除所有缓存

varnishadm ban.url /index.html  # 清除/index.html的缓存

清除varnish后,显示未命中缓存

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

server1:

vim /etc/varnish/default.vcl

backend web1 {
  .host = "172.25.61.2";
  .port = "80";
}

backend web2 {
  .host = "172.25.61.3";
  .port = "80";
}

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 ~ "^www.linux.org") {
set req.backend = web2;
} else {error 404 "westos cache";
}
}

/etc/init.d/varnish reload

主机:

172.25.61.1  www.westos.org westos.org www.linux.org  #设置本地解析

varnish实现轮循

server3:

vim /etc/httpd/conf/httpd.conf

NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot /var/www/html
    ServerName www.linux.org
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /www1
    ServerName www.westos.org
</VirtualHost>

 

mkdir /www1

vim /www1/index.html

<h1>server3-westos</h1>

server1:

vim /etc/varnish/default.vcl

director lb round-robin {
{.backend = web1;}
{.backend = web2;}
}

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

/etc/init.d/varnish reload

 

varnishadm ban.url .*$   # 清除缓存后可以轮循

vim /etc/varnish/default.vcl    # 添加return(pass)使不访问varnish缓存

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

 

设置最大文件数,最大锁定内存,最大进程数

 

arnish cdn 推送平台

server1:

yum install php -y

vim /etc/httpd/conf/httpd.conf

/etc/init.d/httpd start

unzip bansys.zip -d /var/www/html
vim /var/www/html/bansys/config.php

<?php
$var_group1 = array(
'host' => array('192.168.0.201'),
'port' => '6082',
);
//varnish 群组定义
//对主机列表进行绑定
$VAR_CLUSTER = array(
'www.westos.org' => $var_group1,
);
//varnish 版本//2.x 和 3.x 推送命令不一样
$VAR_VERSION = "3";
?>


# vi /etc/varnish/default.vcl
acl westos {
#设置访问控制
"127.0.0.1";
"172.25.61.0"/24;
}
sub vcl_recv {
if (req.request == "BAN") {
if (!client.ip ~ westos) {
error 405 "Not allowed.";
}
ban("req.url ~ " + req.url);
error 200 "ban added";
}
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值