Varnish是一款高性能的开源HTTP加速器,版本之间的跨度较大,varnish支持VCL的开发语言,较为复杂,采用了"Page Cache"技术,所有缓存数据都直接从内存读取(映射),所以更加高速,掉电缓存就没有了。

原理:用户从外面访问内网的时候会首先经过调度器,然后再经过缓存服务器才能拿到想要访问的元数据,这个简单的架构的意就是通过keepalived+haproxy做一个高可用的负载均衡器,然后再通过varnish缓存服务器集群,查看是否有缓存的资源,如果有缓存就直接拿到资源返回,不再访问后端server,如果没有缓存,就去后端拿资源,拿到资源后,会查看头部信息是否允许缓存,如果允许就缓存下来,然后就返回给用户。



一.主配置文件:default.vcl


二.性能配置文件:/etc/varnish/varnish.params

1、RELOAD_VCL=1

设置为1表示当使用systemctl reload varnish时,会自动重新装载vcl的配置文件,也就是能够让新的配置生效

2、VARNISH_VCL_CONF=/etc/varnish/default.vcl

加载的缓存策略的配置文件路径

3、VARNISH_LISTEN_ADDRESS=

varnish服务监听的地址,默认是监听在本机所有可用的地址上

4、VARNISH_LISTEN_PORT=6081

varnish监听的端口,因为varnish要作为web服务器的反代进行工作时,才能将http的内容缓存,一般要将其改为80端口,但是实际生产环境中,varnish一般是处于前端调度器的后面,所以可以在前端调度器上将调度的端口改为此处的端口也可以。

5、VARNISH_ADMIN_LISTEN_ADDRESS=127.0.0.1

varnish管理接口监听的地址,监听在127.0.0.1表示只允许从本机登录进行管理

6、VARNISH_ADMIN_LISTEN_PORT=6082

varnish管理接口监听的端口

7、VARNISH_SECRET_FILE=/etc/varnish/secret

varnish管理时的秘钥文件

8、VARNISH_STORAGE="file,/var/lib/varnish/varnish_storage.bin,1G"

varnish缓存时,使用哪种存储方式对缓存内容进行存储,本处是指使用file文件方式,存在

/var/lib/varnish/varnish_storage.bin文件中,总共使用1G大小的空间如果要使用内存缓存,则可以定义为:"malloc,400M"在很多生产环境还是使用file,但是将文件放在固态硬盘,如果希望性能更好点,放在PCI-E的固态硬盘fution-IO

9、VARNISH_TTL=120

如果后端服务器没有指明缓存内容的TTL时间,则varnish自身为缓存定义的TTL时间

10、VARNISH_USER=varnish

VARNISH_GROUP=varnish管理时的秘钥文件


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回