1 安装软件
rpm ivh varnish-3.0.5-1.el6.x86_64.rpm varnish-libs-3.0.5-1.el6.x86_64.rpm
使用yum解决依赖性安装所需要的软件
2 软件配置
vim /etc/sysconfig/varnish
配置varnish所使用的端口(修改为80端口) 允许打开的最大文件数 默认保存缓存的位置 缓存保存期限等配置
使用ulimt 查看内核规定的参数
yum安装man命令
内核级别单数一般不进行修改
修改系统级别的参数满足varnish即可
vim /etc/security/limits.conf
可以根据varnish所创建的varnish用户来设定参数
最大打开文件数 内存使用等
作为缓存信息的服务需要指定缓存来源
vim /etc/security/limits.conf
修改以下配置文件
#######
web1 >>>>> varish所缓存的第一台服务器 指定地址即可 web2同理
director bobo round-robin >>>>> 为负载均衡器 是为了在服务器宕机或者其他错误是继续执行缓存服务 在此指定两台拥有相同信息的服务器(此处两台主机ip不同 以达到varish不间断运行)
sub vcl_recv >>>>>>>> 接受客户端信息匹配缓存或者向后请求数据 根据输入匹配 此处设定 www.bobo.org与bobo.org保存为同一信息 当匹配成功 访问负载均衡器 bobo 来确定是否有一台主机正常运作 只要有一台就可以工作 此处为了实验效果不缓存数据
实际使用时即使主机宕机也会输出缓存 因为只有缓存到期才会向主机请求数据
sub vcl_deliver >>>>>> 查看请求是否为第一次 并可以有 curl 命令看到结果
##########
主机1与主机3保存有相同数据 主机三通过虚拟主机保存多份数据作为备用
虚拟主机配置如下
NameVirtualHost *:80 》》》》》》》》》》》》》》 注意打开虚拟主机功能时http开启相应服务
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
<VirtualHost *:80>
DocumentRoot /var/www/html/www1
ServerName bbs.bobo.org
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/
ServerName www.bobo.org
</VirtualHost>
运行结果
可以看到相同的数据由不同的服务器提供
可以看到第varnish缓存了不同的数据