linux企业部分之---cdn

一.虚拟机的封装

1.安装虚拟机(母盘)

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

2.配置母盘操作

2.1删除文件,防止格式化

这里写图片描述
如果不删除等你启动东西的时候会失败

2.2配置网络

  vi  /etc/sysconfig/network-scripts/ifcfg-eth0

这里写图片描述

2.3配置yum源

vi /etc/yum.d/rhel-source.repo

这里写图片描述

2.4配置域名解析

vi /etc/hosts

这里写图片描述

2.5永久修改域名

这里写图片描述

2.6关闭防火墙

[root@localhost ~]# chkconfig iptables off
[root@localhost ~]# /etc/init.d/iptables stop

这里写图片描述

2.7关闭selinux

vim /etc/sysconfig/selinux

这里写图片描述

母盘关机后,不能再次打开,再次打开会导致母盘损坏

3.虚拟机(子镜像)的安装

3.1首先对母盘做以下处理

这里写图片描述

[root@foundation24 images]# qemu-img create -f qcow2 -b new.qcow2 test1
Formatting 'test1', fmt=qcow2 size=21474836480 backing_file='new.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off 
[root@foundation24 images]# qemu-img create -f qcow2 -b new.qcow2 test2
Formatting 'test2', fmt=qcow2 size=21474836480 backing_file='new.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off 
[root@foundation24 images]# qemu-img create -f qcow2 -b new.qcow2 test3
Formatting 'test3', fmt=qcow2 size=21474836480 backing_file='new.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off 

这里的new.qcow2是我压缩过的镜像文件。

3.2虚拟机的安装

virt-manage 打开图形安装
这里写图片描述
这里写图片描述

依次安装三个虚拟机作为备用

二.varnish

这里写图片描述
这里写图片描述
处理过程大致分为如下几个步骤:
(1)Receive 状态,也就是请求处理的入口状态,根据 VCL 规则判断该请求应该是 Pass 或
Pipe,或者进入 Lookup(本地查询)。
(2)Lookup 状态,进入此状态后,会在 hash 表中查找数据,若找到,则进入 Hit 状态,否则进
入 miss 状态。
(3)Pass 状态,在此状态下,会进入后端请求,即进入 fetch 状态。
(4)Fetch 状态,在 Fetch 状态下,对请求进行后端的获取,发送请求,获得数据,并进行本地
的存储。
(5)Deliver 状态, 将获取到的数据发送给客户端,然后完成本次请求。

1.安装

yum localinstall -y varnish-3.0.3-1.el6.x86_64.rpm varnish-libs-3.0.3-1.el6.x86_64.rpm

这个软自己想办法传入自己需要的虚拟机

[root@server1 ~]# yum provides */scp  ##可以查找到scp服务所需的文件
[root@server1 ~]# yum install openssh-clients-5.3p1-94.el6.x86_64 -y

[root@server1 ~]# yum install varnish-libs-3.0.5-1.el6.x86_64.rpm varnish-3.0.5-1.el6.x86_64.rpm -y

2.配置

server1:varnish服务器
server2:apache
server3: apache
真机: 测试端

server1:

[root@server1 varnish]# vim /etc/sysconfig/varnish  ##配置端口为80

这里写图片描述

[root@server1 varnish]# vim /etc/security/limits.conf
这里写图片描述

server2:

[root@server2 ~]# /etc/init.d/httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 172.25.24.2 for ServerName
                                                           [  OK  ]
[root@server2 ~]# cd /var/www/html/
[root@server2 html]# vim index.html

这里写图片描述

真机:
本地域名解析

[root@foundation24 Desktop]# vim /etc/hosts

这里写图片描述

测试是否搭建成功:

[root@server1 varnish]# vim default.vcl    ##打开配置文件
oot@server1 varnish]# /etc/init.d/varnish reload   ##刷新

配置一个后端服务器
这里写图片描述
在浏览器测试:
这里写图片描述

2.1查看命中缓存情

varnish配置:

这里写图片描述

真机:

Content-Type: text/html; charset=UTF-8
Content-Length: 22
Accept-Ranges: bytes
Date: Fri, 24 Aug 2012 14:30:40 GMT
X-Varnish: 766467032
Age: 0
Via: 1.1 varnish
Connection: keep-alive
X-Cache: MISS from westos cache #未命中
# curl -I 192.168.0.250
HTTP/1.1 200 OK
Server: Apache/2.2.15 (Red Hat)
Last-Modified: Mon, 20 Aug 2012 15:22:19 GMT
ETag: "1c13aa-16-4c7b4135e08a6"
Content-Type: text/html; charset=UTF-8
Content-Length: 22
Accept-Ranges: bytes
Date: Fri, 24 Aug 2012 14:30:54 GMT
X-Varnish: 766467033 766467032
Age: 14
Via: 1.1 varnish
Connection: keep-alive
X-Cache: HIT from westos cache
#命中

这里写图片描述
这里写图片描述

2.2手动清除缓存

 varnishadm ban.url                                   .*$清除所有
 varnishadm ban.url /index.html                       清除 index.html 页面缓存
varnishadm ban.url /admin/$                         清除 admin 目录缓存

这里写图片描述
这里写图片描述

可以清楚看见清除完之后的时间变化

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

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

backend web1 {
.host = “192.168.0.188”;
.port = “80”;
}
backend web2 {
.host = “192.168.0.189”;
.port = “80”;
}

当访问 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”;
}

这个实验需要三个虚拟机:
server1
server2
server3

server3:打开apache ,在httpd下配置一个index.html文件

这里写图片描述这里写图片描述

server1:打开varnish配置服务
这里写图片描述

真机测试:
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

2.5定义

backend web1 {
.host = “192.168.0.2”;
.port = “80”;
.probe = healthcheck;
}
backend web2 {
.host = “192.168.0.3”;
.port = “80”;
.probe = healthcheck;
}
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”;
}
}

“`
[root@server3 ~]# cd /var/www/html/
[root@server3 html]# ls
[root@server3 html]# vim index.html
[root@server3 html]# vim /etc/httpd/conf/httpd.conf
[root@server3 html]# mkdir /www1
[root@server3 html]# cd /www1/
[root@server3 www1]# vim index.html

[root@server3 www1]# vim /etc/hosts
[root@server3 www1]# curl www.westos.org
bbs.westos.org

[root@server3 www1]# curl bbs.westos.org
bbs.westos.org
“`这里写图片描述
这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/a939029674/article/details/81262079