Nginx 缓存组成
  • 共享内存

    • 数据定位
    • 存储键和缓存对象的元数据
  • 磁盘空间:
    • 存储数据
 
nginx做为反向代理时,能够将来自upstream的响应缓存至本地,并在后续的客户端请求同样内容时直接从本地构造响应报文。
 
proxy_cache 模块

 
为上游服务器提供缓存功能
     当客户端再请求时先从缓存中找,找到直接发给客户端;
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m max_size=1G
  • /data/nginx/cache

    • 本地接受上游服务器响应的,存的目录;

      • 缓存文件名:/data/nginx/cache/c/29/b7f54b2df7773722d382f4809d65029c
  • level
    • 缓存的目录名字符个数
    • 缓存最多三级
      • 1:2:2
      • 有三级目录,第一级目录名1个字符,第二,三级目录名2个字符
      • 字符个数最多2个
  • keys_zone=one:10m
    • one

      • 缓存区域名称
    • 10m
      • 缓存大小为10M
  • max_size=10G
    • /data/nginx/cache 缓存对象目录的大小
 
实践

 
  http{
upstream backend {
server 10.103.100.3:8090;
server 10.103.100.4:8090;
} proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m max_size=1G
server { listen 80;
server_name localhost; location /{
proxy_pass http://backend;
proxy_cache one;
proxy_cache_valid 200 10m; }
} }
 
注意:
  • proxy_cache_path 和upstream一样在http配置块中定义
  • location中使用proxy_cache 缓冲区名 来使用该缓存区
  • 注意,必须定义缓存有效时间,不然无法使用缓存
    • 如不定义:proxy_cache_valid 200 10m;则无法使用返回页为200的缓存;
    • 当然可以使用proxy_cache_valid any      1m;定义所有的缓存有效期为1分钟;

最新文章

  1. ASP.NET MVC 介绍
  2. 一个简单的Python网络爬虫(抓图),针对某论坛.
  3. 基于QT的webkit与ExtJs开发CB/S结构的企业应用管理系统
  4. 网页上下载文件提示框(vb.net)
  5. Redis的String操作
  6. 16、WPF中的命令
  7. Upcase 将edit1中的每个字符串改为首字母大写
  8. 包装类、Object类——Java笔记(八)
  9. 推荐一个很好用的HTTP操作类
  10. 关于tomcat启动没有进行编译或者编译报错的问题
  11. GDB + gdbserver 远程调试android native code
  12. RabbitMQ入门-消息派发那些事儿
  13. Codeforces348C - Subset Sums
  14. springboot中自定义根路径的配置
  15. 基于Vue2.x的小米商城移动端项目
  16. JS判断手机端是否安装某应用
  17. pyqt5 界面切换
  18. Vue.js Failed to resolve filter: key
  19. (转)Java随机数
  20. 15.3Sum (Two-Pointers)

热门文章

  1. 知问前端——工具提示UI
  2. [转]使用 LDAP OU 限制访问
  3. 【BZOJ2460】【BJOI2011】元素 [线性基]
  4. DP+贪心水题合集_C++
  5. jupyter、flask、tornado、djiango安装
  6. time_t转化成日期格式小工具
  7. SQLAlchemy ORM教程之二:Query
  8. C中的volatile关键字
  9. Long类型的坑,第一次遇见
  10. js判断处理undefined类型的数据