varnish介绍以及虚拟机的封装
varnish是一款高性能、开源的反向代理服务器和缓存服务器。Varnish使用内存缓存文件来减少响应时间和网络带宽消耗。
VCL处理流程图
处理过程大致分为如下几个步骤:
(1)Receive 状态,也就是请求处理的入口状态,根据 VCL 规则判断该请求应该是 Pass 或
Pipe,或者进入 Lookup(本地查询)。
(2)Lookup 状态,进入此状态后,会在 hash 表中查找数据,若找到,则进入 Hit 状态,否则进
入 miss 状态。
(3)Pass 状态,在此状态下,会进入后端请求,即进入 fetch 状态。
(4)Fetch 状态,在 Fetch 状态下,对请求进行后端的获取,发送请求,获得数据,并进行本地
的存储。
(5)Deliver 状态, 将获取到的数据发送给客户端,然后完成本次请求。
varnish 服务配置
基础环境配置之封装虚拟机
1、封装虚拟机,配置三台
主机环境: rhel6 selinux and iptables disabled
两台作为后端服务器
apache——172.25.54.x server2
apache——172.25.54.y server3
一台作为varnish缓存服务器
varnish ——172.25.54.z server1
主机为客户端clients : 172.25.54.250
注 : 此处操作系统为 rhel6.5
2、安装虚拟机(作为母盘)
6.5版本镜像下载链接
注意:在安装虚拟机前,在真机配置好DHCP,以便新建虚拟机存在IP
重启后的操作
[root@localhost ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 52:54:00:58:16:d2 brd ff:ff:ff:ff:ff:ffinet 172.25.54.3/24 brd 172.25.54.255 scope global eth0inet6 fe80::5054:ff:fe58:16d2/64 scope link valid_lft forever preferred_lft forever
[root@localhost ~]# hostname server
##临时修改主机名称
[root@localhost ~]# hostname
server
[root@localhost ~]# vi /etc/sysconfig/network
[root@localhost ~]# cat /etc/sysconfig/network
##永久修改主机名称
NETWORKING=yes
HOSTNAME=server
[root@localhost ~]# vi /etc/hosts
##添加后四行内容
[root@localhost ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.54.1 server1
172.25.54.2 server2
172.25.54.3 server3
172.25.54.4 server4
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO="dhcp"
[root@localhost ~]# ls /etc/udev/rules.d/ ##删除目录/etc/udev/rules.d/下的内容,只留下文件60-raw.rules
60-raw.rules
[root@localhost ~]# vi /etc/yum.repos.d/rhel-source.repo
[root@localhost ~]# cat /etc/yum.repos.d/rhel-source.repo
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.54.250/rhel6.5
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@localhost ~]# yum clean all
Loaded plugins: product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Cleaning repos: rhel-source
Cleaning up Everything
[root@localhost ~]# yum repolist
Loaded plugins: product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rhel-source | 3.9 kB 00:00
rhel-source/primary_db | 3.1 MB 00:00
repo id repo name status
rhel-source Red Hat Enterprise Linux 6Server - x86_64 - Source 3,690
repolist: 3,690
[root@localhost ~]# yum install vim lftp -y
[root@localhost ~]# vim /etc/sysconfig/selinux
[root@localhost ~]# cat /etc/sysconfig/selinux
7 SELINUX=disabled ##修改selinux的值为disabled
[root@localhost ~]# chkconfig iptables off
[root@localhost ~]# /etc/init.d/iptables stop
##这两条命令是关闭防火墙
[root@localhost ~]# poweroff
##做完上述操作过后,关闭该虚拟机
注意:母盘关机后,不能再次打开,再次打开会导致母盘损坏
3、虚拟机(子镜像)的安装
kvm —> cpu/mem 对cpu和内存的虚拟化
qemu —> disk/net…. 对磁盘 网卡….的虚拟化
libvirtd —-> user 和 kernel 之间的操作接口
virt-manager —–> 虚拟机管理
virsh —–> 虚拟机管理
首先对母盘做以下处理
[root@foundation54 ~]# cd /var/lib/libvirt/images/
[root@foundation54 images]# ll
total 1948488
-rw------- 1 root root 21478375424 Jul 28 11:03 tutu.qcow2
[root@foundation54 images]# du -h tutu.qcow2
1.9G tutu.qcow2
[root@foundation54 images]# ls
tutu.qcow2
[root@foundation54 images]# virt-
virt-admin virt-format virt-resize
virt-alignment-scan virt-get-kernel virt-sparsify
virt-builder virt-host-validate virt-sysprep
virt-cat virt-index-validate virt-tar-in
virt-clone virt-inspector virt-tar-out
virt-copy-in virt-install virt-top
virt-copy-out virt-log virt-viewer
virt-customize virt-ls virt-what
virt-df virt-make-fs virt-who
virt-diff virt-manager virt-who-password
virt-edit virt-pki-validate virt-xml
virt-filesystems virt-rescue virt-xml-validate
[root@foundation54 images]# virt-sysprep -d tutu
[root@foundation54 images]# virt-manager
[root@foundation54 images]# pwd
/var/lib/libvirt/images
[root@foundation54 images]# ls
tutu.qcow2
[root@foundation54 images]#
注意:若命令 virt-sysprep 不存在,便执行下列操作,执行后,该命令便存在啦~
[root@foundation54 ~]# yum provides */virt-sysprep
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-: manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
1:libguestfs-tools-c-1.32.7-3.el7.x86_64 : System administration tools for: virtual machines
Repo : rhel7.3
Matched from:
Filename : /usr/bin/virt-sysprep
[root@foundation54 ~]# yum install libguestfs-tools-c-1.32.7-3.el7.x86_64 -y
安装
[root@foundation54 images]# pwd
/var/lib/libvirt/images
[root@foundation54 images]# ls
tutu.qcow2
[root@foundation54 images]# qemu-img create -f qcow2 -b tutu.qcow2 test1
Formatting 'test1', fmt=qcow2 size=21474836480 backing_file='tutu.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off
[root@foundation54 images]# ls
test1 tutu.qcow2
[root@foundation54 images]# ll test1
-rw-r--r-- 1 root root 197120 Jul 28 11:28 test1
[root@foundation54 images]# du -h test1
196K test1
[root@foundation54 images]# virt-manager
[root@foundation54 images]# du -h test1
4.6M test1
[root@foundation54 images]# du -h tutu.qcow2
1.9G tutu.qcow2
[root@foundation54 images]#
虚拟机(子镜像)的所有操作均不改变虚拟机母盘
按照此方法继续安装虚拟机test2、test3
varnish ——172.25.54.5 server1(虚拟机test1)
apache——172.25.54.6 server2(虚拟机test2)
apache——172.25.54.7 server3(虚拟机test3)
varnish介绍以及虚拟机的封装相关推荐
- 6.5版本虚拟机的封装
一.虚拟机的封装 1.使6.5镜像共享 <1> 首先我们需要一个6.5版本的镜像 <2> 为了后面的快照能够使用6.5的yum源,我们将6.5版本的虚拟机挂载到共享目录,并设置 ...
- 企业入门实战(一)基于Redhat7.6环境虚拟机的封装
基于Redhat7.6环境虚拟机的封装 一.镜像![在这里插入图片描述](https://img-blog.csdnimg.cn/20210624091212928.png) 二.虚拟机相关配置的修改 ...
- Android 网络框架 Retrofit2.0介绍、使用和封装
前言 时至今日,Android的网络框架不再像之前那么到处都是,随着Google把 HttpClient直接删掉,似乎意味着Android越来越成熟.网络框架中的佼佼者Volley也不再那么光鲜,取而 ...
- rhel7虚拟机的封装
文章目录 1.服务器初始化 2.禁用selinux 3.禁用防火墙 4.配置yum源 5.配置网络 6.时间同步 7.主机名解析 8.关闭NetworkManager 9.完成封装 1.服务器初始化 ...
- 最简单直白的Linux入门介绍+VMware虚拟机搭建服务器
前言 一年前的现在,我知道了有Linux这个东西.当时是社团的一个大神师兄给我们做了培训,花了两个晚上,100+页的PPT,可惜当时课上能听进去的人太少了,我最终也只是熟悉了这个环境,但并没有什么深刻 ...
- sysprep封装win7不用虚拟机_Win7封装经验总结
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 网上封装WIN7的教程一大堆,过程非常详细,但是经验总结寥寥无几,封装时多多少少都会碰到一些问题, 如果一个个再上网去查找答案,势必会耗费很多时间,下面我 ...
- Java Hutool 介绍 hutool 工具包 模块 封装 工具
1.简介 Hutool文档 (很重要) Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以&q ...
- 简书 java jvm_详细介绍Java虚拟机(JVM)
1. JVM生命周期 启动.启动一个Java程序时,一个JVM实例就产生了,任何一个拥有public static void main(String[] args)函数的class都可以作为JVM实例 ...
- Linux网络编程 | Socket编程(一):Socket的介绍、UDPSocket的封装、UDP服务器/客户端的实现
目录 套接字编程 Sockaddr结构 字节序 地址转换 常用套接字接口 UDP的通信流程 UDPSocket的封装 UDP服务器 UDP客户端 套接字编程 所谓套接字(Socket),就是对网络中不 ...
最新文章
- Cisco asa 5510升级IOS和ASDM
- javascript-XMLHttpRequest
- python函数使用易错点_大部分人都会忽略的Python易错点总结
- 80%的Android手机用户面临浏览器安全风险
- 2020 云原生技术 7 大领域趋势全预测
- 【机器学习】机器学习中缺失值处理方法大全(附代码)
- oracle 0 函数吗,Oracle9.2.0.1版函数编译一个小问题
- java cpu 占用高问题定位
- mouted vue 操作dom_vue中使用refs定位dom的坑-阿里云开发者社区
- Difference: throw or throw ex?
- 基于React的全屏滑动插件react-fullslip
- 计算机搜索文件时找不到搜索按钮,电脑搜不到文件怎么办?文件搜索软件用起来!...
- cacti监控服务器
- go开发属于自己的日志库-日志库易用性封装
- AIDL中should be declared in a file错误
- android 指纹拍照,一加2评测:增加指纹识别/拍照性能出众
- 【实践*感悟】程序员的品质
- 公众号头条文章数据接口 API
- python使用spark_如何在Python中编写简单代码,并且速度超越Spark?
- 思科EVE模拟器开机几个要点