热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

varnish安装配置

1.varnish主机的配置下载varnish包#安装varnishyuminstallvarnish-3.0.5-1.el6.x86_64.rpmvarnish-libs-3.

 

1.varnish主机的配置

下载varnish包
# 安装varnish
yum install varnish-3.0.5-1.el6.x86_64.rpm varnish-libs-3.0.5-1.el6.x86_64.rpm -y

代理缓存apache服务,配置代理端口也为80
vim /etc/sysconfig/varnish
VARNISH_LISTEN_PORT=80

系统配置要求,打开文件最大个数

#然后配置系统文件,在最后加入以下参数,就是
vim /etc/security/limits.conf

 

#配置真实服务器

vim /etc/varnish/default.vcl

#启动varnish

 

2.测试

在准备一台server2安装http服务并启动

在真机访问server1得到结果是server2标示成功

 

测试命中

server1重配置如下,并清理varnish缓存

 

在真机继续测试,发现第一次没有命中vanish,之后结果都会命中

结论:varnish在http请求处理过程有一个负责接收http请求的线程,一直监听请求端口,当有请求过来时,负责唤起一个工作线程来处理请求。工作线程会分析http请求的uri,知道了这个请求想要什么,就到缓存中查找是否有这个对象。如果有,就把缓存对象直接返回给用户;如果没有,会把请求转给后端服务器处理,并等待结果。工作线程从后端得到结果内容后,先把内容作为一个缓存对象保存到缓存空间(以备下次请求这个对象时快速响应),然后再把内容返回给用户。

 

3.配置如下,varnish使用内存缓存,所以建议真实环境重修改配置后通过reload重新加载配置,而不是restart重新启动

测试结果,先配置本地解析,同样在准备一台server3与server2配置相同

vim /etc/hosts

#加入以下解析

172.25.70.1  www.westos.org bbs.westos.org

 

4.轮询配置这里通过轮询算法两台服务器的轮询,然后加入return(pass);这里取消缓存,否则每次都访问缓存轮询结果是无法看到的

测试结果

当一台服务器无法正常提供服务是,不会出现错误,但是工作压力都增加到其他的服务器,只要服务器恢复正常,又恢复到原来的状态,varnish对于后端轮询的服务器有状态判定

 

5.cdn推送界面搭建

下载所需软将,以及php编写的包

yum install unzip httpd php -y

解压到http的默认发布目录

配置config.php如下

 

修改httpd服务端口为8080,因为varnish在占用80端口,启动httpd服务

varnish配置如下,然后reload

 

最后测试,在浏览器中输入172.25.254.1:8080,选择HTTP推送模式,输入 .*$ 就可一清理缓存


推荐阅读
author-avatar
彼岸花芬芳
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有