资讯专栏INFORMATION COLUMN

Nginx深入了解-进阶(四)

miya / 3384人阅读

摘要:同样可以用来作为缓存服务客户端浏览器缓存我们称之为客户端缓存,后端使用等缓存服务我们称之为后端缓存,同理作为缓存服务我们就称之为代理缓存。缺点当文件很大时或者很小时,可能会导致文件描述符耗尽等情况。

Nginx同样可以用来作为缓存服务;客户端浏览器缓存我们称之为客户端缓存,后端使用Redis、Memcache等缓存服务我们称之为后端缓存,同理Nginx作为缓存服务我们就称之为代理缓存。
一,Nginx作为代理缓存的流程示意图:

配置语法:

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

proxy_cache配置语法:

Syntax:proxy_cache zone|off;

Default:proxy_cache off;

Context:http、server、location

缓存过期周期:

Syntax:proxy_cache_valid [code...] time;

Default:--

Context:http、server、location

缓存维度:

Syntax:proxy_cache_key string;

Default:proxy_cache_key $schema$proxy_host$request_uri; // 协议+主机+url

Context:http、server、location

二,配置实例
http {
    ......
    proxy_cache_path /var/cache levels=1:2 keys_zone=test_cache:10m max_size=10g inactive=60m use_temp_path=off; #60m是指60分钟,1:2两级目录,test_cache开辟的空间名称
    server {
        listen 80;
        server_name localhost;
        access_log /var/logs/access.log main;

        location / {
            proxy_cache test_cache;
            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"; # 增加头信息 key(Nginx-Cache) value($upstream_cache_status)

            proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; # 当出现5xx,超时,错误等时,跳过直接访问下一台服务器
            include proxy_params;
        }
    }
}
三,清理指定缓存信息

使用第三方模块ngx_cache_purge来实现。

四,部分页面不缓存,比如登录注册页不希望缓存,可以使用proxy_no_cache实现
Syntax:proxy_no_cache string ...;

Default:---;

Context:http、server、location;

配置实例:

server {
    ......
    if ($request_uri ~ ^/(login|register|password/reset)) {
        set $cookie_nocache 1;
    }

    location / {
        proxy_cache test_cache;
        proxy_cache_valid 200 304 12h;
        proxy_cache_valid any 10m;
        proxy_cache_key $host$uri$is_args$args;
        proxy_no_cache $cookie_nocache $arg_nocache $arg_comment;
        proxy_no_cache $http_pragma $http_authorization;
        add_header Nginx-Cache "$upstream_cache_status"; # 增加头信息 key(Nginx-Cache) value($upstream_cache_status)

        proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; # 当出现5xx,超时,错误等时,跳过直接访问下一台服务器
        include proxy_params;
    }
}
五,大文件分片请求混存

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

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40052.html

相关文章

  • Nginx深入了解-进阶(三)

    摘要:负载均衡,简称是一种服务器或网络设备的集群技术。负载均衡将特定的业务网络服务网络流量等分担给多个服务器或网络设备,从而提高了业务处理能力,保证了业务的高可用性。 Nginx负载均衡(Load Balance,简称LB)是一种服务器或网络设备的集群技术。负载均衡将特定的业务(网络服务、网络流量等)分担给多个服务器或网络设备,从而提高了业务处理能力,保证了业务的高可用性。 Nginx负载均...

    kycool 评论0 收藏0
  • Nginx深入了解-进阶(二)

    摘要:客户端服务配置实例只允许访问服务器配置客户端使用代理工具配置代理服务器,例如系统自带扩展工具等,配置相应的代理服务器地址。在浏览器输入即可访问。 Nginx作为代理服务.正向代理:代理对象为客户端.反向代理:代理对象为服务端. 反向代理 配置语法: Syntax:proxy_pass URLDefault:--Context:location、if in location、limit_...

    keithyau 评论0 收藏0
  • Nginx深入了解-进阶(一)

    摘要:用来作为静态资源服务浏览器缓存跨域防盗链等。非服务器动态运行生成的文件。防盗链配置配置实例这里只允许头为的地址和搜索过来的,可以便于优化 Nginx用来作为静态资源web服务;CDN、浏览器缓存、跨域、防盗链等。 非服务器动态运行生成的文件。 类型 种类 浏览器端渲染 HTML、CSS、JS 图片 JPG、GIF、JPEG、PNG 视频 FLV、MPEG 文件 T...

    reclay 评论0 收藏0
  • 写这么多系列博客,怪不得找不到女朋友

    摘要:前提好几周没更新博客了,对不断支持我博客的童鞋们说声抱歉了。熟悉我的人都知道我写博客的时间比较早,而且坚持的时间也比较久,一直到现在也是一直保持着更新状态。 showImg(https://segmentfault.com/img/remote/1460000014076586?w=1920&h=1080); 前提 好几周没更新博客了,对不断支持我博客的童鞋们说声:抱歉了!。自己这段时...

    JerryWangSAP 评论0 收藏0
  • SegmentFault 技术周刊 Vol.5 - Docker丨Build, Ship, Run,

    摘要:此刻的后手指依旧飞速地敲打键盘,丝毫没有要停不下来意思。阅读本期技术周刊,你不光能弄明白什么是,使用的意义何在,还将被传授秘籍,以达的境界。周刊筛选的每篇内容,是作者的独到见解,踩坑总结和经验分享。 showImg(https://segmentfault.com/img/bVC5qJ?w=900&h=385); 啪嗒啪嗒,啪嗒啪嗒,听到后排动感十足的清脆键盘响,我就能猜到公司程序员定...

    Panda 评论0 收藏0

发表评论

0条评论

miya

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<