缓存类型
客户端缓存,代理缓存(Nginx),服务端缓存(Redis).
nginx作为代理缓存
proxy_ cache配置语法:
Syntax: proxy_ cache_ path path [levels=levels] 定义目录的空间大小以及名字 用来防止缓存文件的
………………..
Default:——
Context :http
Syntax : proxy_ cache zone|off;
Default: proxy_cache off;
Context:http,server,location;
配置语法-缓存过期周期
Syntax:proxy_ cache_ valid[code…] time; code代表状态码 200
Default : ——
Context : http,server,location
配置语法-缓存的维度
Synatx:proxy_ cache_ key string;
Default : proxy_ cache_ key $scheme $proxy_ host $request_ uri; 缓存的key
Context :http , server,location
配置
vim /etc/nginx/cond.f/test.conf
upstream imooc { //负载均衡服务器
server 192.168.1.111;
server 192.168.1.222;
server 192.168.1.333;
}
proxy_cache_path /opt/app/cache levels=1:2 keys_zone=cache:10m max_size=10g inactive=60m use_temp_path=off;
proxy_cache_path /opt/app/cache 缓存文件的存放位置
levels=1:2 两层目录的分级
keys_zone=fan_cache:10m 开辟的空间大小
max_size=10g 最大空间
inactive=60m 不活跃的缓存文件。60分钟之后清理掉
use_temp_path=off 临时访问空间关掉
server {
listen 80;
server_name localhost;
#charset koi8-r;
access_log /var/log/nginx/test_proxy.access.log main;
location / {
proxy_cache cache;
proxy_pass http://imooc; //基于代理
proxy_cache_valid 200 304 12h;
proxy_cache_valid any 10m;
proxy_cache_key $host$uri$is_args$args;
add_header Nginx-Cache "$upstream_cache_status";
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
include proxy_params;
proxy_cache cache; 上面定义的zone
proxy_pass http://imooc; 定义的upstream
proxy_cache_valid 200 304 12h; 为200和304的过期时间为12小时
proxy_cache_valid any 10m; 其他为10分钟
proxy_cache_key $host$uri$is_args$args; 缓存的key
add_header Nginx-Cache "$upstream_cache_status"; 给客户端增加名为一个Nginx-Cache 的头信息
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
如果服务器出现了定义的错误,跳过本节点访问下一台。
}