Toggle navigation
首页
技术
骑行
羽毛球
资讯
联络我
登录
Nginx代理层缓存
2017-11-01
Nginx
Performance
> 利用 Nginx 代理层缓存,可以减少client向后端服务器的请求,从而降低后端服务器压力,提升性能 # HTTP 模块配置 ``` proxy_buffering on; proxy_buffer_size 4k; proxy_buffers 8 4k; proxy_busy_buffers_size 8k; proxy_cache_path /data/nginx/cache/proxy_cache levels=1:2 keys_zone=cache:512m inactive=20m max_size=1g use_temp_path=off; ``` 参数说明: * proxy_buffering:是否启用缓冲。当启用时,Nginx会尽快的从后端服务器读取数据,并存储到 proxy_buffers 设定的缓冲区。如果数据超过缓冲区大小,则会先被保存到临时文件中。禁用时,数据会同步的发送给client。 * proxy_buffer_size:缓冲区大小,默认为 内存页大小,可以通过 getconf PAGESIZE 获取 * proxy_buffers:缓冲区数量和大小,大小默认为 内存页大小。 * proxy_busy_buffers_size:发送给client的缓冲区大小,默认为缓冲区大小的两倍。 proxy_cache_path 参数说明: * levels:目录层级,1:2表示2层目录结构存储,比如:/data/nginx/cache/c/29/b7f54b2df7773722d382f4809d65029c * keys_zone:缓存key的共享内存区,1m可以存储8千个key * inactive:缓存有效时间,如果经过该时间还没有被访问到,则删除该缓存 * max_size:缓存数据最大大小 * use_temp_path:是否将数据先写入临时文件(proxy_temp_path),再写入缓存目录 # proxy_cache 配置 ``` location ~ .*\.(js|css|ico|png|jpg|eot|svg|ttf|woff|woff2)$ { proxy_cache cache; proxy_cache_key $scheme$proxy_host$request_uri; proxy_cache_valid 1M; proxy_ignore_headers Expires Cache-Control; add_header cache-status $upstream_cache_status; } ``` 参数说明: * proxy_cache:指定使用哪个共享内存区缓存数据 * proxy_cache_key:缓存文件key,默认为完整的URL * proxy_cache_valid:为不同的响应状态码设定缓存,如果只设定时间,则 200, 301, 302 都将同时被缓存 * proxy_ignore_headers :禁止代理服务器处理请求头,避免被Expires Cache-Control等参数影响缓存有效性。 * add_header cache-status $upstream_cache_status : 在响应头添加缓存命中状态,方便调试。 time format: * ms milliseconds * s seconds * m minutes * h hours * d days * w weeks * M months, 30 days * y years, 365 days # 参考: * [Configuration file measurement units](http://nginx.org/en/docs/syntax.html)
×
本文为博主原创,如需转载,请注明出处:
http://www.supperxin.com
返回博客列表