一:Nginx介绍:

在Nginx调优方面大多关注与Nginx的各种buffer的大小,由于Nginx是异步转发模式(当接收到客户端的请求后自己做一些处理,比如将前端的连接信息缓存至自己的buffer中做一些处理后才交至后端webserver),

能将所有来自客户端的请求连接与自身建立,减轻了后端webserver的压力,不像squid使用的是同步转发模式,所有来自客户端的请求连接都做修改转发给后端的webserver,不能够减少webserver的压力。

二:nginx的缓存功能配置:

角色                                      IP

Nginx(代理)                             10.43.2.11

httpd(webserver)                          10.43.2.77

httpd(webserver)                          10.43.2.76

我们修改Nginx的配置文件加上一下两句:

proxy_cache_path /nginx/cache/first levels=1:2 keys_zone=first:20m max_size=1g;  //添加在server段之上也就是http端中  定义缓存目录级别 以及缓存空间
location /
         {
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                proxy_cache  first;                      //缓存缓存区域要与keys_zone=first:20m 名称对应
                proxy_cache_valid 200  10m;              //定义缓存响应码为200 的时间为10分钟
                add_header X-Via $server_addr;
                add_header X-Cache "$upstream_cache_status from $server_addr";      //$upstream_cache_status  显示缓存状态(hit|miss)
                proxy_pass http://httpd;
         }

mkdir -pv /nginx/cache/first 创建上边定义的缓存目录

三:测试:

首次访问10.43.2.11会出现如下信息:

wKioL1V2YaSg54uFAAFG_LuawMQ227.jpg

由于是首次测试,没有产生缓存所以缓存状态为MISS,当我们再测访问一次时由于第一次访问产生缓存就会出现如下结果:

wKiom1V2YGHgcDjWAAFtR_HxwUU085.jpg

这是Nginx的简单缓存配置。