Varnish:缓存代理服务器它是一款高性能且开源的反向代理服务器,具有高性能、速度块、管理方便等优点。
例如:客户机要在成都访问sina,sina的服务器在北京,由于距离较远,访问速度很慢,这时为了解决此问题我们可以使用Varnish。
它相当于客户机访问Varnish,Varnish在Cache池里看有没有sina的页面数据,如果有就直接返回给客户;如果没有Varnish会请求sina服务器,sina服务器把页面数据返回给Varnish,Varnish把页面数据传给客户机,并且把此数据存储到自己的Cache池里,下次其它客户机来访问相同页面时会直接把该数据返回给客户机。
部署Varnish
1、安装依赖包
[[email protected] ~]# yum -y install gcc readline-devel ncurses-devel pcre-devel
[[email protected] ~]# yum -y install python-docutils-0.11-0.2.20130715svn7687.el7.noarch.rpm(此包需要自己单独下载)
2、创建Varnish用户
[[email protected] ~]# useradd -s /sbin/nologin varnish
3、源码编译安装(软件包自己下载)
[[email protected] ~]# tar -xf varnish-5.2.1.tar.gz
[[email protected] ~]# cd varnish-5.2.1
[[email protected] varnish-5.2.1]# ./configure
[[email protected] varnish-5.2.1]# make && make install
4、修改配置文件,在varnish-5.2.1目录里的etc下有example.vcl文件 此文件是Varnish的配置文件
[[email protected] varnish-5.2.1]# cp etc/example.vcl /usr/local/etc/default.vcl
[[email protected] ~]# vim /usr/local/etc/default.vcl
backend default {
.host = "192.168.2.100"; //后端服务器地址
.port = "80"; //后端服务端口号
}
5、启动服务
[[email protected] ~]# varnishd -f /usr/local/etc/default.vcl
//varnishd命令的其他选项说明如下:
//varnishd –s malloc,128M 定义varnish使用内存作为缓存,空间为128M
//varnishd –s file,/var/lib/varnish_storage.bin,1G 定义varnish使用文件作为缓存
其它操作
1、查看日志
varnishlog #查看所有日志
varnishncsa #连接时才会产生日志
2、更新缓存数据,在后台web服务器更新页面内容后,用户访问代理服务器看到的还是之前的数据,说明缓存中的数据过期了需要更新。
a、等,varnish会自动更新
b、输入varnishadm命令,执行 ban req.url ~ .* #清空缓存数据,支持正则表达式
原文地址:http://blog.51cto.com/13759649/2139679