http加速器Varnish的vcl配置小记(lnmp环境)

在以前的公司曾安装过Varnish,可惜还没摸热就离职了,这次接着倒腾了下Varnish,并搭建成功,特来记录下,以备后用。

一、测试环境

系统版本:CentOS 6.4 x64

WEB环境:Nginx+PHP+MySQL

Varnish:3.0

工作原理:简单的说,在本次测试中,Varnish将来自80的请求转发到后端的nginx8080端口,当匹配到请求是jpg、css、js等静态文件时,将会进入缓存中查找,若未找到则将请求发给后端的nginx处理,并缓存此次请求的文件,若下次再次出现相同请求时(通过哈希校验),将直接从缓存中调用。因为Varnish缓存处于内存当中,所以读取速度是硬盘无法比拟的,从而实现了HTTP加速(Ps:本文为单台主机测试)。

二、安装Varnish

之前博客已经写过安装Varnish相关文章,就不赘述了,详情:http://zhangge.net/2044.html

三、修改nginx配置

在安装varnish之前,lnmp环境已经搭建OK,所以只要把nginx所有的监听端口改成8080即可。

vim 编辑 /usr/local/nginx/conf/nginx.conf 把 listen 80 改成 listen 8080,然后执行:

/usr/local/nginx/sbin/nginx -s reload 重新加载nginx即可,记得使用 netstat -nutlp | grep nginx 查看是否生效。

四、编写vcl配置

稍微修改了下《Varnish+Nginx 配置----Varnish》一文中分享的vcl配置:

#vim /usr/local/varnish/etc/vcl.conf

Ps:该配置文件基本都有详细说明,根据实际情况修改下即可。

五、启动Varnish

执行如下命令启动Varnish:

 六、测试效果

测试很简单:

①、打开谷歌浏览器,按下F12进入开发者模式,并点击切换到network界面,如图:

http加速器Varnish的vcl配置小记(lnmp环境)

 

②、在地址栏输入测试服务器的ip,并打开,可以看到network里面已经出现页面相关文件的信息:

http加速器Varnish的vcl配置小记(lnmp环境)

 

③、在列表中找到并点击一个静态文件,比如jpg或js文件,看到Varnish信息则为搭建成功:

http加速器Varnish的vcl配置小记(lnmp环境)

 

从图中可以看出,此时还是MISS状态,说明这是第一次打开,还未进行缓存。

④、按下F5刷新页面后,再次点击这个静态文件,可以看到该文件已经是HIT命中状态了,说明文件缓存成功:

http加速器Varnish的vcl配置小记(lnmp环境)

⑤、继续查看其它静态文件,比如jpg、css、png等文件,均可以发现已经是HIT状态了。

七、写在最后

从测试可以看出,Varnish适合静态文件比较多,而WEB服务器IO又存在严重瓶颈时的加速。本文为单台主机的简单测试,并未深入研究varnish的其他功能配置,希望可以给初次接触Varnish搭建的童鞋提供一些帮助。

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

刷新评论

目前评论:2   其中:访客  2   博主  0

  1. puffbaby 4 来自天朝的朋友 谷歌浏览器 Windows 7 海南省海口市 电信

    缓存怎么清除呢

  2. puffbaby 0 来自天朝的朋友 谷歌浏览器 Windows 7 海南省 电信

    2台主机系统一样一个成功 一个提示 Address family not supported by protocol varnish
    google 一个博主的方法只是说注意 /etc/sysconfig/varnish配置 ,可是我这2个主机varnish配置文件一样的。。

加载中,请稍候...