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 搭建的童鞋提供一些帮助。

评论已关闭!