Nginx 缓存配置

此内容应用于Nginx反代;

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    upstream backend {
    server 192.168.11.163:80 weight=1;
    server 192.168.11.165:80 weight=1;
    }
proxy_temp_path /etc/nginx/proxy_temp_dir;  
proxy_cache_path /etc/nginx/proxy_cache_dir levels=1:2 keys_zone=cache_one:50m inactive=1m  max_size=10g;

    server {
        listen       80;
        server_name  www.test.com;
        #增加两个响应头信息,用于获取访问的服务器地址与缓存是否成功
        add_header X-Via $server_addr;
        add_header X-Cache $upstream_cache_status;

        location / {
        proxy_cache cache_one;
        proxy_cache_key $host$uri$is_args$args;
        proxy_cache_valid 200 10m;      #缓存10分钟
        proxy_cache_valid 304 10m;      #缓存10分钟
        proxy_cache_valid 301 302 1h;   #缓存1小时
        proxy_cache_valid any 1m;       #其他未设置的状态缓存1分钟
        proxy_pass http://backend;
        proxy_set_header Host $host;                  #转发请求头信息
        proxy_set_header X-Forward-For $remote_addr;  #转发请求IP地址
}
}

查看缓存文件已经生成:

[root@web02 nginx]# tree proxy_cache_dir/
proxy_cache_dir/
├── 2
│   └── 0e
├── 3
│   └── 1b
├── 9
│   └── f3
├── b
│   └── a0
└── f
    └── ce
        └── 6f9821e6a884944244c4c061ff857cef

10 directories, 1 file

进行压力测试,可以与未进行缓存配置结果进行对比,访问速度比未进行缓存配置要快很多;

# yum -y install httpd-tools
# ab -n 100000 -c 100 http://192.168.11.167/index.html

 

posted @ 2020-07-23 16:40  区域管理员  阅读(783)  评论(0编辑  收藏  举报