nginx内置缓存Proxy_cache
来源:互联网 发布:淘宝上可信的steam 编辑:程序博客网 时间:2024/05/22 04:28
proxy_cache作用是缓存后端服务器的内容
一.http模块加入缓存设置
1.加上下面三段(缓存到磁盘)
proxy_temp_path /etc/nginx/proxy_temp;proxy_cache_path /etc/nginx/proxy_cache levels=1:2 keys_zone=content:20m inactive=1d max_size=100m;proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;
proxy_ignore_headers 不处理后端服务器返回的指定响应头
2.也可以缓存到内存(/dev/shm),提高访问速度,但重启失效,需要重新mount
mkdir /dev/shm/proxy_temp
mkdir /dev/shm/proxy_cachechmod -R 777 /dev/shm/proxy*
mkdir /mnt/nginx_temp /mnt/nginx_cache
mount –bind /dev/shm/proxy_temp /mnt/nginx_temp
mount –bind /dev/shm/proxy_cache /mnt/nginx_cache
–bind 挂载目录会集成之前的权限和所属
上面三段修改为:
proxy_temp_path /mnt/nginx_temp;proxy_cache_path /mnt/nginx_cache levels=1:2 keys_zone=cache_one:200m inactive=5d max_size=400m;proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;
相关参数解释:
proxy_temp_path:缓存临时文件路径
proxy_cache_path:缓存路径 levels设置目录层次 keys_zone设置缓存名字和共享内存大小(设置一个共享内存区,该内存区用于存储缓存键和元数据,有些类似计时器的用途。将键的拷贝放入内存可以使 NGINX 在不检索磁盘的情况下快速决定一个请求是HIT
还是MISS
,这样大大提高了检索速度。一个 1MB 的内存空间可以存储大约 8000 个 key) inactive在指定时间内没人访问则被删除
max_size最大缓存空间
proxy_ignore_headers 禁止处理来自代理服务器的应答
二.Server模块
server { listen 80; server_name www.nginx1.com; #charset koi8-r; #access_log logs/host.access.log main #缓存静态文件,一旦固定就很少变化 location ~ .*\.(html|htm|css|js|ico|jpeg|git|jpg|png|bmp|swf)$ { root /home/tyt/apache-tomcat-7.0.64/webapps/ylyg01; proxy_pass http://127.0.0.1:8080; proxy_cookie_path /test/ /; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_cache content; proxy_cache_valid 200 304 301 302 10d; proxy_cache_valid any 1d; proxy_cache_key $host$uri$is_args$args; } #动态文件不缓存 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_pass http://127.0.0.1:8080; }
相关参数解释:
proxy_cache content; 根keys_zone后的内容对应
proxy_cache_valid 200 304 301 302 10d; 哪些状态缓存多长时间
proxy_cache_valid any 1d; 其他的缓存多长时间
proxy_cache_key $host$uri$is_args$args; 通过key来hash,定义KEY的值
三.测试:
在配置的指定目录下(这里是/etc/nginx/proxy_cache,可发现缓存文件夹,这里是磁盘缓存的图)
其缓存的具体目录结构如下(缓存的文件名和key为代理URL的MD5 码):
- nginx内置缓存Proxy_cache
- nginx内置缓存Proxy_cache之清除
- nginx proxy_cache配置缓存
- nginx proxy_cache 缓存配置
- nginx缓存设置proxy_cache
- nginx proxy_cache 缓存配置
- Nginx的proxy_cache缓存功能
- Nginx动静分离+proxy_cache缓存
- nginx缓存命中率统计(proxy_cache)
- Nginx缓存功能:Proxy_cache与fastcgi_cache区别
- 使用Nginx的proxy_cache缓存功能
- 使用nginx的proxy_cache做网站缓存
- 使用nginx的proxy_cache做网站缓存
- nginx利用proxy_cache来缓存文件
- 使用nginx的proxy_cache做网站缓存
- nginx的proxy_cache做网站缓存
- Nginx的缓存:proxy_cache和fastcgi_cache
- nginx利用proxy_cache来缓存文件
- 【c++程序】C/C++中内存区域划分
- Codeforces632F Magic Matrix
- MPEG-4的音频标准
- 用js制作163登陆页面终极版(写了一晚上)
- Java序列化机制和原理
- nginx内置缓存Proxy_cache
- Spring AOP切面实现:异常处理
- Matlab | 算法运行过程中间项的文件存储与读取
- C++中union的使用
- java多态
- 辗转相除法求最大公约数,附带求最小公倍数
- 高可用网站技术架构
- C语言Printf()&scanf() 学习笔记
- 约瑟夫环问题