开启三台虚拟机
192.168.80.100 Nginx
192.168.80.101 web1
192.168.80.102 web2
提供与Squid类似的缓存,把URL以及相关信息当成key,用MD5编码哈希后,把数据文件保存在硬盘上,并且只能为指定的URL或者状态码设置过期时间,并不支持类似 squid的purge命令来手动清除指定缓存页面,但是可以通过第三方的ngx_cache_purge来清除指定的URL缓存
Nginx的缓存加速功能是由proxy_cache(用于反向代理和静态缓存)和fastcgi_cache(PHP动态缓存)两个功能模块完成
反向代理:proxy_pass 转发
Nginx缓存特点:
缓存稳定,运行速度与Squid相差无几(因为都使用硬盘缓存)
对多核CPU的利用率比其他的开源软件好
支持高并发请求数,能同时承受更多的访问请求
nginx有两段缓存:
共享内存(存储键和缓存对象元数据)
磁盘空间:存储数据
Nginx缓存、Varnish、Squid对比
Squid:应用较早,支持传统、透明、反向等功能的一款应用软件,设置较复杂,一般配合CDN
Varnish:新兴软件,设计简单,使用内存缓存数据(快)
Nginx缓存:需通过调用模块实现缓存功能,基于硬盘缓存数据
nginx要定义缓存,需要以下配置:
proxy_cache_path:不能定义在server{}上下文中
官方帮助手册:https://docs.nginx.com/nginx/admin-guide/
实战:nginx缓存
三台虚拟机都要启动:
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
yum install lrz* -y //安装上传软件
再把nginx-1.13.5.tar
ngx_cache_purge-2.3.tar
pcre-8.41.tar拉入
解压软件包:
tar xf ngx_cache_purge-2.3.tar.gz -C /opt/
tar xf pcre-8.41.tar.gz -C /opt/
tar xf nginx-1.13.5.tar.g