Nginx缓存配置以及nginx ngx(3)

         proxy_send_timeout 300;                #后端服务器回传时间,就是在规定时间内后端服务器必须传完所有数据

         proxy_read_timeout 600;                #连接成功后等待后端服务器的响应时间,已经进入后端的排队之中等候处理

         proxy_buffer_size 256k;                #代理请求缓冲区,会保存用户的头信息以供nginx进行处理

         proxy_buffers 4 256k;                  #同上,告诉nginx保存单个用几个buffer最大用多少空间

         proxy_busy_buffers_size 256k;          #如果系统很忙时候可以申请最大的proxy_buffers

         proxy_temp_file_write_size 256k;       #proxy缓存临时文件的大小

         proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;

         proxy_max_temp_file_size 128m;

        }

 

     location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$ {         

      #使用Web缓存区cache_one,已在nginx.conf的缓存配置中命名的。

      proxy_cache cache_one ;

      #对不同HTTP状态码缓存设置不同的缓存时间

      proxy_cache_valid 200 304 12h ;

      proxy_cache_valid 301 302 1m ;

      proxy_cache_valid any 1m ;

      #设置Web缓存的Key值,Nginx根据Key值md5哈希存储缓存,这里根据"域名,URI,

      #参数"组合成Key

      proxy_cache_key $host$uri$is_args$args;

     }

  

    #用于清除缓存的url设置

    #假设一个URL为,那么就可以通过访问清除该URL的缓存。

    location ~ /purge(/.*) {

      #设置只允许指定的IP或IP段才可以清除URL缓存

      allow 127.0.0.1 ;

      allow 192.168.0.0/16 ;

      deny all ;

      proxy_cache_purge cache_one $host$1$is_args$args ;

    }

 

}

 

fastcgi_cache相关指令集
(1)fastcgi_cache指令
语法:fastcgi_cache zone_name;
该指令用于设置哪个缓存区将被使用,zone_name的值为fastcgi_cache_path指令创建的缓存区名称.

(2)fastcgi_cache_path指令
语法:fastcgi_cache_path path [levels=number] keys_zone=zone_name:zone_size [inactive=time] [max_size=size];
该指令用于设置缓存文件的存放路径,
例如:
fastcgi_cache_path /usr/local/nginx/fastcgi_cache_dir levels=1:2 keys_zone=cache_one:500m inactive=1d max_size=30g ;
注意这个指令只能在http标签内配置,
levels指定该缓存空间有两层hash目录,第一层目录为1个字母,第二层为2个字母,保存的
文件名会类似/usr/local/nginx/fastcgi_cache_dir/c/29/XXXX;
keys_zone参数用来为这个缓存区起名,
500m指内存缓存空间大小为500MB;
inactive的1d指如果缓存数据在1天内没有被访问,将被删除;
max_size的30g是指硬盘缓存空间为30GB

(3)fastcgi_cache_methods指令
语法:fastcgi_cache_methods [GET HEAD POST] ;
该指令用于设置缓存哪些HTTP方法,默认缓存HTTP GET/HEAD 方法,不缓存HTTP POST方法

(4)fastcgi_cache_min_uses指令
语法:fastcgi_cache_min_uses the_number;
该指令用于设置缓存的最小使用次数,默认值为1.

(5)fastcgi_cache_valid指令
fastcgi_cache_valid reply_code [reply_code...] time;
该‎指令用于对不同返回状态码的URL设置不同的缓存时间.
fastcgi_cache_valid 200 302 10m ;
fastcgi_cache_valid 404 1m ;
设置200,302状态的URL缓存10分钟,404状态的URL缓存1分钟.
如果不指定状态码,直接指定缓存时间,则只有200,301,302状态的URL缓存5分钟.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/cf9ba58fdd8f088abc60012ac2277cb6.html