varnish基础应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了varnish基础应用相关的知识,希望对你有一定的参考价值。

varnish主要用于缓存服务器,还有一些其他软件也能实现缓存功能,例如memcached但是它主要缓存的是数值数据,适用于缓存mysql的数据;而nginx也有缓存功能,也可在反代时为后端主机提供缓存,但是nginx常用于反代服务器使用,也不建议一个主机承载多任务工作,这样会代理性能降低;而varnish正是常作为http协议的反代工作的。


现代互联网服务,为了提供用户良好的体验,访问网站打开页面的速度要求非常快,所以各网站基本都把资源尽量放在客户端最近的访问节点上,即常说的把资源推送到用户的家门口。实现方式常用的有两种方式:一种是使用CDN,另一种就是把用户请求都指向一个入口,在客户请求的入口处部署缓存服务器,把热点资源都放在离用户最近的缓存服务器上。varnish就工作在第二种方式中,当做缓存服务器给用户带来良好的访问体验的。


同样功能的还有一款软件squid,与varnish的关系,相当于httpd与nginx的关系;squid出现比较早,但面临较大负载时工作非常稳定,且功能丰富,同时支持正向、反向代理;varnish是比较轻量,主要用来实现反代;但超过承受的负载时,可能很不稳定;


安装varnish:

]# yum install varnish

安装varnish的文档包

]# yum -y install varnish-docs


varnish主机:172.18.11.111

后端web主机:

RS1:172.18.11.11

RS2:172.18.11.12


varnish主机:

]# vim /etc/varnish/default.vcl

技术分享

]# vim /etc/varnish/varnish.params

技术分享


启动varnish专用命令行:

]# varnishadm -S /etc/varnish/secret -T 127.0.0.1:6082

vcl.load test1 default.vcl

显示:

技术分享

没问题后,再输入:

vcl.use test1

显示:

技术分享

没问题后,可浏览器测试。


分别在后端两web服务器提供测试页:

]# vim /var/www/html/index.html

<h1>RS1 172.18.11.11</h1>


]# vim /var/www/html/index.html

<h1>RS2 172.18.11.12</h1>


浏览器输入:http://172.18.11.111/

刷新后交替显示:

技术分享

技术分享

停掉后端一台web服务器,继续访问仍能提供web服务。


以上是关于varnish基础应用的主要内容,如果未能解决你的问题,请参考以下文章

varnish基础应用

varnish基础应用

varnish基础入门使用

varnish缓存系统基础知识

Tomcat服务器 Tomcat应用案例 Varnish代理服务器

varnish4杂记