封装虚拟机
1、配置母盘rhel6.5(选择Network insatll)
1)物理机将6.5镜像挂载到/var/www/html/rhel6.5下
2)安装dhcp,配置好dhcp
3)Network insatll安装路径http://172.25.40.250:rhel6.5,选择最小化安装
4)将母盘配置好network;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
(libvirtd 是虚拟机管理软件)
varnish
1.启动varnish
server1:
yum install -y varnish3.0.5 和 varnish-libs.3.0.5 的rpm包
配置一个后端服务器
vim /etc/varnish/default.vcl
backend web1 {
.host = "172.25.40.2";
.port = "80";
}
配置 varnish 服务端口
vim /etc/sysconfig/varnish
VARNISH_LISTEN_PORT=80
server2:
开启http并 echo www.westos.org > index.html
测试:
物理机curl 172.25.40.1 查看是否为server2 apache提供的内容www.westos.org
2.查看缓存命中情况
server1
vim /etc/security/limits.conf
varnishi - nofile 65535
vim /etc/sysconfig/varnish
NFILES=65535
(其中,65535为文件的最大读取数,可使用命令sysctl -a | grep file 查看)
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.40.1,显示HIT 和MISS 的情况
(其中,清除缓存命令:varnishadm ban.url .*$)
3.定义多个不同域名站点的后端服务器
server1安装apche服务,即做varnish也作apache服务(或者使用server3做后端)
修改apache端口 vim /etc/httpd/conf/httpd.conf (避免80端口varnish冲突)
Listen 8080
编辑varnish配置文件,加入个不同域名站点的后端服务器:
当访问 www.westos.org 域名时从 web1 上取数据,访问 bbs.westos.org 域名时到 web2 取数据,
访问其他页面报错。
vim /etc/varnish/default.vcl
整体代码如下:
backend web1 {
.host = "172.25.40.1";
.port = "8080";
}
backend web2 {
.host = "172.25.40.2";
.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 ~ "^bbs.westos.org") {
set req.backend = web2;
}else {error 404 "westos cache";
}
}
(其中,物理机做解析)
4.把多个后端聚合为一个组,并检测后端健康状况
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;
return(pass);
}elsif (req.http.host ~ "^bbs.westos.org") {
set req.backend = web2;
}else {error 404 "westos cache";
}
}
return(pass)表示不进行缓存
5.varnish cdn 推送平台
1)server1安装php服务
2)更改php配置文件;将其放到/var/www/html下
var_group1,
);表示对主机列表进行绑定
3)真机网页查:172.25.77.8080:/varnish查看
6.设置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列表的机器进行访问查看