Nginx缓存服务

配置语法

  1. proxy_cache配置

    Syntax: proxy_cache_path path [levels=levels][use_temp_path=on|off]keys_zone=name:size[inactive=time][max_size=size][manager_files=number][manager_sleep=time][manager_threshold=time][loader_files=number][loader_sleep=time][loader_threshold=time][purger=on|off][purger_files=number][purger_sleep=time][purger_threshold=time];
    Default:
    Context: http
    
    #使用
    Syntax: proxy_cache zone|off;
    Default:proxy_cache off;
    Context: http,server,location
    
  2. 缓存过期周期

    Syntax: proxy_cache_valid [code ...] time;		#code为状态码
    Default:proxy_cache off;
    Context: http,server,location
    
  3. 让部分页面不缓存

    Syntax: proxy_no_cache string ...;
    Default:
    Context: server,location
    
  4. 大文件分片请求http_slice_module

    Syntax: slice size;
    Default: slice 0;
    Context: http,server,location
    

    优点:每个子请求收到的数据都会形成一个独立文件,一个请求断了,其他请求不受影响。

    缺点:当文件很大或者slice很小的时候,可能会导致文件描述符耗尽等情况

示例
upstream mini {
    server 192.168.111.111:8001;
    server 192.168.111.111:8002;
    server 192.168.111.111:8003;
}

#/opt../..:目录  levels:二层目录方式分级   keys_zone:开辟的空间名字,后面用到调用(1m一般可以存8000个key)
#max_size:控制目录最大  inactive:不活跃的,60m没访问则清理掉  use_temp_path:临时缓存,存放临时文件
proxy_cache_path /opt/app/cache levels=1:2 keys_zone=mini_cache:10m max_size=10g inactive=60m use_temp_path=off;

server {
    ......;
    ......;
       
    location / {
        proxy_cache mini_cache;		#和上面的keys_zone对应
        proxy_pass http://mini;
        proxy_cache_valid 200 304 12h;		#200和304头信息过期为12小时
        proxy_cache_valid any 10m;			#除了200、304,其他为10分钟过期
        proxy_cache_key $host$uri$is_args$args;		#缓存的key
        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;
    }
    
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值