• Nginx用为缓存服务器


    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分钟;
  • 相关阅读:
    残奥会女坐式排球决赛
    Visual C++ 调试器伪变量
    Project Chameleon Work In Progress 3
    pku1496 Word Index
    pku1083 Moving Tables
    pku3273 Monthly Expense
    pku1189 钉子和小球
    pku1018 Communication System
    关于tomcat报Error listenerStart和Context [*] startup failed due to previous errors两个错误的总结 东师理想
    java客户端提交数据到memcached方法memcached+java+client个人总结 东师理想
  • 原文地址:https://www.cnblogs.com/Aiapple/p/7367915.html
Copyright © 2020-2023  润新知