目录
1. CDN的定义
CDN的全称是Content Delivery Network,称为内容发布网络。
CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容发布、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
CDN的关键技术有内容存储和分发技术。
2. varnish的定义
Varnish是一款高性能的开源HTTP加速器,罗威最大的在线报纸 Verdens
Gang使用三台varnish代替了原来的12台Squid代理缓存服务器,性能比以前更好了。
varnish性能比Squid的性能好的原因:
squid加速器(代理缓存服务器)是将从服务器要回来的资源放在自己的硬盘里,客户读取的速率慢,代理的效率很低。
varnish加速器(代理缓存服务器)是将从服务器要回来的资源放在自己的内存里,客户读取的速率很快,代理的效率高。
3. 搭建varnish服务
3.1 实验环境
三台虚拟机+一台真实主机
主机名称 ip 功能 服务
server1 172.25.254.11 varnish
server2 172.25.254.12 apache
server3 172.25.254.13 apache
主机localhost 172.25.254.60 客户端(client)
3.2 下载安装varnish软件包
3.3 修改配置文件
打开文件的最大数,有如下关系: 内核操作> 操作系统> 软件
修改安全限制文件,保证流量大时,服务正常运行
内核允许的打开文件最大数
- vim /usr/lib/systemd/system/varnish.service
服务启动脚本
- vim /etc/security/limits.conf
系统参数限制文件
systemctl start varnish
启动服务
- 主机测试
- 在服务端配置数据源
vim /etc/varnish/default.vcl
- 在server2上配置80端口的服务
- 再次测试
3.4 master进程和child 进程
varnish开启俩个进程,一个master进程,一个child进程
master(management)进程 | 主要是读取配置和fork 监控子(child)进程 |
---|---|
child(worker,主要做cache的工作进程) | 真正用于处理用户请求。 |
4. Varnish缓存功能
4.1 配置server1主机上的varnish服务的配置文件
测试
4.2 实时更新缓存信息
手动清理缓存信息