Nginx用为缓存服务器
2024-08-24 02:02:37
Nginx 缓存组成
- 共享内存
- 数据定位
- 存储键和缓存对象的元数据
- 磁盘空间:
- 存储数据
nginx做为反向代理时,能够将来自upstream的响应缓存至本地,并在后续的客户端请求同样内容时直接从本地构造响应报文。
proxy_cache 模块
为上游服务器提供缓存功能
当客户端再请求时先从缓存中找,找到直接发给客户端;
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m max_size=1G
- /data/nginx/cache
- 本地接受上游服务器响应的,存的目录;
- 缓存文件名:/data/nginx/cache/c/29/b7f54b2df7773722d382f4809d65029c
- 本地接受上游服务器响应的,存的目录;
- level
- 缓存的目录名字符个数
- 缓存最多三级
- 1:2:2
- 有三级目录,第一级目录名1个字符,第二,三级目录名2个字符
- 字符个数最多2个
- keys_zone=one:10m
- one
- 缓存区域名称
- 10m
- 缓存大小为10M
- one
- max_size=10G
- /data/nginx/cache 缓存对象目录的大小
实践
http{
upstream backend {
server 10.103.100.3:8090;
server 10.103.100.4:8090;
} proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m max_size=1G
server { listen 80;
server_name localhost; location /{
proxy_pass http://backend;
proxy_cache one;
proxy_cache_valid 200 10m; }
} }
注意:
- proxy_cache_path 和upstream一样在http配置块中定义
- location中使用proxy_cache 缓冲区名 来使用该缓存区
- 注意,必须定义缓存有效时间,不然无法使用缓存
- 如不定义:proxy_cache_valid 200 10m;则无法使用返回页为200的缓存;
- 当然可以使用proxy_cache_valid any 1m;定义所有的缓存有效期为1分钟;
最新文章
- ASP.NET MVC 介绍
- 一个简单的Python网络爬虫(抓图),针对某论坛.
- 基于QT的webkit与ExtJs开发CB/S结构的企业应用管理系统
- 网页上下载文件提示框(vb.net)
- Redis的String操作
- 16、WPF中的命令
- Upcase 将edit1中的每个字符串改为首字母大写
- 包装类、Object类——Java笔记(八)
- 推荐一个很好用的HTTP操作类
- 关于tomcat启动没有进行编译或者编译报错的问题
- GDB + gdbserver 远程调试android native code
- RabbitMQ入门-消息派发那些事儿
- Codeforces348C - Subset Sums
- springboot中自定义根路径的配置
- 基于Vue2.x的小米商城移动端项目
- JS判断手机端是否安装某应用
- pyqt5 界面切换
- Vue.js Failed to resolve filter: key
- (转)Java随机数
- 15.3Sum (Two-Pointers)