• Nginx--缓存


    一般存的是静态资源,可以提高客户端的访问速度,并减轻服务器的压力

    1 客户端缓存

     通过设置 expires 指令,响应头中将会返回Expires 和Cache-Control字段

     当浏览器发现响应头存在这样的缓存字段,当再次请求相同资源时,就会确认在客户端的资源是否过期

    location / {
        expires    30m;    #缓存30分钟
    }

    2 服务器缓存(主要设置在反向代理服务器上)

     将静态资源的缓存设置在服务器端,当多个用户访问同一个资源时,缓存命中率及系统的性能将以指数的形式提升

    [root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
         ...
            upstream backend{
                server 192.168.198.130;
                server 192.168.198.131;
            }
            proxy_cache_path /usr/local/nginx/cache levels=1:2 keys_zone=test:20m max_size=10g;
            server {
                listen       80;
                server_name  localhost;
                #charset koi8-r;
                #access_log  logs/host.access.log  main;
                location / {
                   proxy_pass http://backend;
                   proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;
                   proxy_set_header X-real-ip    $remote_addr;
                   proxy_cache test;
                   proxy_cache_valid 200 10m;
                }
            }
    proxy_cache_path
    语法:proxy_cache_path path [levels=number] keys_zone=zone_name:zone_size [inactive=time] [max_size=size];
    默认值:None
    使用字段:http
    指定缓存的路径和一些其他参数,缓存的数据存储在文件中,并且使用代理url的哈希值作为关键字与文件名
    levels - 目录结构,可以使用任意的1位或2位数字作为目录结构,如 X, X:X或X:X:X ,最多三级
    keys_zone - 指定所有活动的key和元数据存储的共享内存池区域
        可以定义多个内存池,但必须是不重复的路径,例如:
        proxy_cache_path  /data/nginx/cache/one    levels=1      keys_zone=one:10m;
        proxy_cache_path  /data/nginx/cache/two    levels=2:2    keys_zone=two:100m;
        proxy_cache_path  /data/nginx/cache/three  levels=1:1:2  keys_zone=three:1000m;
    inactive - 指定缓存数据的失效时间,默认为10分钟
    max_size - 定义最大缓存大小,超出后则删除最少使用的数据
    proxy_cache
    语法:proxy_cache  zone_name;
    默认值:None
    使用字段:http, server, location
    设置一个缓存区域的名称,一个相同的区域可以在不同的地方使用
    proxy_cache_valid
    语法:proxy_cache_valid reply_code [reply_code …] time;
    默认值:None
    使用字段:http, server, location
    为不同的应答设置不同的缓存时间,例如:
    proxy_cache_valid  200 302  10m;
    proxy_cache_valid  404      1m;
    为应答代码为200和302的设置缓存时间为10分钟,404代码缓存1分钟
    如果只定义时间:
    proxy_cache_valid 5m;
    那么只对代码为200, 301和302的应答进行缓存
    同样可以使用any参数任何应答
    proxy_cache_valid  200 302 10m;
    proxy_cache_valid  301 1h;
    proxy_cache_valid  any 1m;
  • 相关阅读:
    spring + junit 测试
    备份mysql数据库
    JAVA访问Zabbix API
    pro git 读书笔记 3 Git 分支
    pro git 读书笔记 1
    pro git 读书笔记 2
    溢出和剪裁,可见性
    html 与 jsp 文件格式区别
    Eclipse 的 CheckStyle 插件
    【转】单元测试覆盖率
  • 原文地址:https://www.cnblogs.com/Xinenhui/p/14130404.html
Copyright © 2020-2023  润新知