一.Varnish概念
以下部分资料来源于百度百科
1、什么是Varnish
Varnish是一款高性能的开源HTTP加速器,Varnish Cache是一个所谓的反向缓存代理服务器。它通过缓存服务端的输出来减少你的网站/应用/API的加载时间,从而提高性能。
2、Varnish的线程
总体流程:主进程fork子进程,主进程等待子进程的信号,子进程退出后,主进程重新启动子进程,子进程生成若干线程。
Accept线程 | 接受请求,将请求挂在overflow队列上
Work线程 | 多个,从队列上摘除请求,对请求进行处理,直到完成,然后处理下一个请求
Epoll线程 |一个请求处理称作一个session,在session周期内,处理完请求后,会交给Epoll处理,监听是否还有事件发生
Expire线程 |对于缓存的对象,根据过期时间,组织成二叉堆,该线程周期检查该堆的根,处理过期的文件
3、Varnish可以做什么
Varnish可以减少网站的加载时间,是一个可缓存HTTP流量的工具,可以从服务器上卸下大部分负载,并且客户端无法直接攻击后端服务器,后端服务器也无法直接攻击客户端,两端的安全级别都得到了升级。
4、什么是CDN
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速率和命中率。CDN的关键技术主要有内容存储和分发技术。
CDN全球加速
5、如何安装Varnish
(1)下载varnish的安装包和依赖性包
(2)yum install -y varnish的安装包和依赖性包
(3)rpm -qc varnish
(4)id varnish
varnish安装后会自动产生一个varnish用户,因为varnish使用时会产生线程,线程需要一个对象去产生,所以会有一个用户来当作这个对象。
二.Varnish的配置
用到了一台客户端机:
客户端机:172.25.2.250,hostname为foundation2.ilt.example.com
用到了两台虚拟机作服务端:
开启varnish服务的服务器:172.25.2.1,hostname为madao1
后端服务器1:172.25.2.2,hostname为madao2
1、配置varnish服务器
命令 | 功能 |
---|---|
安装varnish | 如何安装已说明 |
cat /usr/lib/systemd/system/varnish.service | 查看该文件,查看varnish支持的最大开启的文件数量 |
sysctl -a | grep file |