缓存类型
- 浏览器缓存
- Nginx代理服务器缓存
- 服务器缓存,例如Redis、Memcache等
缓存配置
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_path
upstream backend {
server x.x.x.x:1023;
server x.x.x.x:1024;
server x.x.x.x:1025;
}
#缓存存放的位置是 /data/nginx/cache,目录层级为两层,最多存放10G缓存
#缓存key存放的内存空间是 default_cache ,单个缓存最大为 10m
#自动移除60分钟内没有人访问的缓存
#在将缓存放置到 proxy_cache_path 之前,不使用 use_temp_path
proxy_cache_path /data/nginx/cache levels=1:2 max_size=10g keys_zone=default_cache:10m inactive=60m use_temp_path=off;
server {
...
location / {
#使用backend负载均衡组
proxy_pass http://backend;
#使用 default_cache 缓存
proxy_cache default_cache;
#200、304的响应缓存时间为12h
proxy_cache_valid 200 304 12h;
#非200、304的响应缓存时间为10m
proxy_cache_valid any 10m;
#使用$uri作为缓存key
proxy_cache_key $uri;
#对于以下特定情况,继续请求负载均衡组里面的其他服务器
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
#如果请求中含有参数或者为授权请求,则不缓存
proxy_no_cache $http_pragma $http_authorization;
#向客户端返回一个是否击中缓存的头信息
add_header Nginx-Cache "$upstream_cache_status";
}
}
缓存清理
rm -rf 缓存目录
- 使用
ngx_cache_purge
模块清理特定缓存
专题阅读
- 1. Nginx的优点
- 2. Nginx的安装与开机自启
- 3. Nginx目录和配置语法
- 4. Nginx模块
- 5. Nginx静态资源处理
- 6. Nginx浏览器缓存原理
- 7. Nginx资源的跨域访问
- 8. Nginx资源的防盗链
- 9. Nginx代理
- 10. Nginx负载均衡
- 11. Nginx缓存
- 12. Nginx动静分离
- 13. Nginx Rewrite
- 14. Nginx Secure Link
- 15. Nginx Geo
- 16. Nginx HTTPS服务
- 17. Nginx与Lua开发
- 18. Nginx与Lua灰度发布
- 19. Nginx常见错误
- 20. Nginx性能优化
- 21. Nginx安全管理
原文地址:https://www.cnblogs.com/zy108830/p/12600349.html
时间: 2024-11-23 16:56:14