「五」具有缓存功能的反向代理服务

反向代理

将nginx作为反向代理后,可以根据负载均衡算法分散到多台上游服务器,这样就实现了架构上的水平扩展,让用户无感知的情况下,添加更多的服务器,来提升性能

  • 缓存的使用方法则是,在需要进行缓存url 路径下,添加proxy_cache、proxy_cache_key、proxy_cache_valid。
  1. proxy_cache my_cache:指定缓存共享内存的命名
  2. proxy_cahce_key $host$uri$is_args$args:在共享内存中设置的 key 的值,这里将 host,uri 等作为 key 值
  3. Proxy_cache_valid 200 304 302 1d :指定的响应不返回缓存

配置文件

user  root;
worker_processes  1;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

        upstream web_group {
                server 127.0.0.1:8081 weight=2 max_fails=2 fail_timeout=2s;
        }
        proxy_cache_path /home/ubuntu/nginx/logs/cache levels=1:2 keys_zone=cache_one:20m max_size=1g;
        server {
                listen 127.0.0.1:80;
                root html/;
                index index.html;
        }
        server {
                listen       80;
              # 在响应报文中添加缓存首部字段
                add_header X-Cache "$upstream_cache_status from $server_addr";
                location / {
                        proxy_pass http://web_group;
                        proxy_cache cache_one;
                        proxy_cache_valid 200 1h;
                        proxy_cache_valid 404 1m;
                        proxy_cache_valid any 5m;
                }

        }
        server {
                listen 8081;
                location / {
                        root html/;
                        index index.html;
                }
        }
    }

posted @ 2022-05-18 20:53  花花妹子。  阅读(45)  评论(0编辑  收藏  举报