缓存(反向代理)服务器-varnish
创始人
2025-01-17 10:06:17
0次
- varnish简介:
- varnish是一款高性能且开源的反向代理服务器和HTTP加速器,(其实就是带缓存的反向代理服务器)它可以把整个HTTP响应内容缓存到内存或文件中,从而提高web服务器器的响应速度。
- 与传统的squid相比,varnis具有性能更高、速度更快管理更方便等诸多优点,很多大型的网站都开始尝试使用varnish来替换squid。
- varnish特点:
- 6.具有强大的管理功能,列如top,stat,admin,list等
- varnish与squid相比:
- varnish的优点:
- 稳定性高,两者在完成相同负荷的工作时,squid服务器发生故障的几率要大,因为squid经常要重启
- varnish访问速度快,所有数据都是从内存中读取,而squid是从硬盘读取,因而varnish在访问速度方面更快
- varnish可以支持更多的并发连接,因为varnish的TCP连接释放要比squid快。
- varnish可以通过管理端口,使用正则表达式批量的清除部分缓存
- 与squid相比,varnish的缺点:
- varnish在高并发状态下CPU、IO、内存等资源开销都高于squid。
- varnish进程一旦Hang(无响应)、Crash(崩溃)或重启,缓存数据都会从内存中完全释放,此时所有请求都会发送到后端服务器,在高并发的情况下,会给后端服务器造成很大压力。
- 配置varnish反向代理缓存:
- varnish配置:
- 安装varnish:yum -y install varnish 、
- 添加配置文件,指定后端的web服务器:
- vim /etc/varnish/default.vcl
- 启动服务:systemctl start varnish
- 配置NGINX服务器:
- 修改网页内容
- echo "web1" > /usr/share/nginx/html/index.html
- 启动服务:systemctl start nginx
- 访问代理服务器varnish:http://192.168.8.5
- 查看nginx访问日志:
- 是由代理服务器发来的请求

- 将日志内容删除,再次访问测试varnish是否将网页缓存到了自己的内存中
- > /var/log/nginx/access.log

- 如果清除了一次还有日志,就多刷新访问一次,是因为varnish还没有将网页内容完全缓存到自己主机上
- varnish基本命令:
- ban req.url == /index.html #清除指定缓存
- param.show default_ttl #查看TTL值
- param.set default_ttl 43200 #设置TTl值
相关内容