码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • nginx设置缓存proxy_cache


    前言

    • nginx 1.20.1
    • linux centos 7.8

    nginx缓存的作用

    在服务端将某些资源缓存起来。客户端请求直接获取nginx中的换成资源,不用去访问真实的资源。

    nginx缓存的用途

    • 实现CDN
    • 静态资源入图片、js、css等缓存
    • 静态数据缓存,比如:行政区划编码数据、字典数据
    • 变化不频繁的数据,比如:天气数据(可以缓存1小时)
    • 允许有一定延迟的数据,比如:年、季、月、周、天级别的报表数据
    • 有访问压力的数据,比如:网站/站点首页
    • 如果第三方接口是按次收费的,可以缓存一下,减少计费次数。比如和风天气API,设置合适的缓存时间,可以明显的减少费用
    • …

    nginx设置缓存proxy_cache步骤

    第1步:配置proxy_cache_path

    在 nginx.conf 的 http 元素上配置proxy_cache_path:

    http {
        proxy_cache_path /data/nginx_cache/my_zone1/ levels=1:2 keys_zone=my_zone1:100m;
        proxy_cache_path /data/nginx_cache/my_zone2/ levels=1:2 keys_zone=my_zone2:100m;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 配置解释参考官方文档。

    第2步:配置proxy_cache

    	location /api/dict/ {
    		proxy_pass          http://ip:port;
    		proxy_cache         my_zone1;
    		proxy_cache_valid   1d;
    	}
    
    	location /index.html {
    		proxy_pass          http://ip:port/index;
    		proxy_cache         my_zone2;
    		proxy_cache_valid   5m;
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 配置解释参考官方文档。

    第3步:reload nginx

    shell> nginx -t
    shell> nginx -s reload
    
    • 1
    • 2

    第4步:测试

    1. 触发一次缓存
    2. 检查 /data/nginx_cache/my_zone1/ 或 /data/nginx_cache/my_zone2/ 目录下是否生成缓存文件

    手动失效缓存数据

    当无法等到缓存自动失效时,就需要手动失效缓存数据。

    最简单的,把/data/nginx_cache/my_zone1/ 或 /data/nginx_cache/my_zone2/ 目录清空。

    官方给的方法是配置proxy_cache_purge,配置方法:略。

    参考

    官方文档:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache
    nginx设置缓存proxy_cache:https://blog.csdn.net/u014203449/article/details/122583295
    nginx proxy_cache缓存详解:https://blog.csdn.net/weixin_30795127/article/details/97385091
    详解用Nginx搭建CDN服务器方法(图文):https://www.jb51.net/article/189658.htm

  • 相关阅读:
    Bean的作用域和生命周期
    在 Debian 和 Ubuntu 上安装 Cutefish 可爱鱼
    配置docker镜像加速
    互联网Java工程师面试题·Java 并发编程篇·第八弹
    基于springboot的自助旅游服务平台
    科技资讯|苹果穿戴新专利,表带、服装等织物可变身柔性屏幕或扬声器
    使用matlab产生二维动态曲线视频文件具体举例
    html通过使用图像源的协议(protocol)相对 URL 来防止安全/不安全错误
    重庆建筑模板厂家:选择桉木模板,智慧之选
    AI助力快速定位数据库难题
  • 原文地址:https://blog.csdn.net/sayyy/article/details/128184328
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号