nginx配置反向代理缓存
说明
最近运维一个网站里面含有不经常变化的小图片,而每次请求都需要调用file接口获取不太合适。所以就想利用nginx的反向代理缓存来减轻服务接口的请求压力。
工作原理
Nginx反向代理缓存,当客户端向Nginx服务器发送请求时,nginx根据请求的URI可以加一层缓存,可缓存动态请求,当缓存存在时Nginx直接将缓存返回给客户端,而不请求服务接口,这样可以使服务器压力降低。
如何配置?
- 在http节点下添加
# 反向代理缓存配置
client_body_buffer_size 512k;
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path D:/tmp;
proxy_cache_path D:/tmp/cache levels=1:2 keys_zone=cache_one:200m inactive=7d max_size=50g;
proxy_cache_path:表示生成的缓存文件存放的路径,该路径是预先就要创建好的
levels=1:2 : 设置在相对于path指定目录的第几级hash目录中缓存数据,levels=1,表示一级hash目录,levels=1:2,表示两级hash目录。
- 在server节点下添加
location ~ / {
proxy_pass http://127.0.0.1:9001;
if ($request_uri ~ ^/(article|category)) {
set $cookie_nocache 1;
}
if ($request_uri = /) {
set $cookie_nocache 1;
}
proxy_cache cache_one;
proxy_cache_valid 200 304 7d; #正常状态缓存时间7天
proxy_cache_key $host$uri$is_args$args;
proxy_no_cache $cookie_nocache $arg_nocache $arg_comment;
proxy_no_cache $http_pargma $http_authorization;
add_header Nginx-Cache "$upstream_cache_status";
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 配置的反向代理。
proxy_cache cache_one; 指定用哪个缓存,这地方就是上面配置的。
两个if条件表达式过滤了部分请求不缓存。
如何确定已生效?
重启nginx,刷新请求发现缓存路径下已生成了文件:

未命中缓存的请求

已命中缓存的请求

nginx配置反向代理缓存的更多相关文章
- Windos环境用Nginx配置反向代理和负载均衡
Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...
- Linux - Nginx配置反向代理。
Nginx配置反向代理. 准备两台服务器 http://192.168.70.66 http://192.168.70.62 设置正则匹配(192.168.70.66) vim /usr/local/ ...
- CentOS 7 安装 Nginx 配置反向代理
Linux使用Nginx Yum存储库上安装Nginx,适用于Red Hat Enterprise Linux和CentOS系统. 1.添加设置Nginx Yum存储库 在CentOS中首次安装Ngi ...
- [笔记]nginx配置反向代理和负载均衡
1.nginx配置文件:源码安装情况下,nginx.conf在解压后的安装包内.yum安装,一般情况下,一部分在/etc/nginx/nginx.conf中,一部分在/etc/nginx/conf.d ...
- nginx配置反向代理详细教程(windows版)
内容属于原创,如果需要转载,还请注明地址:http://www.cnblogs.com/j-star/p/8785334.html Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(I ...
- windows版 nginx配置反向代理实例教程 跳转tomcat和php网站
抄自 https://www.cnblogs.com/j-star/p/8785334.html 个人理解 nginx端口设置为80,简称n tomcat端口设置为其他,例如8080,简称t php网 ...
- nginx笔记 安装nginx 配置 反向代理 多虚拟主机
1,检测linux上是否 通过yum安装了nginxrpm -qi nginx 2.安装nginx之前的依赖包yum install gcc patch libffi-devel python- ...
- nginx 配置反向代理,负载均衡实战解析
前言:NGINX的反向代理和负载均衡是网站架构中经常用到的一种高并发,高可用的方案,下面我们直接实战操作,当然理论也是要的. 一.反向代理 过程:反向代理:客户端 一>代理 <一> ...
- nginx 配置反向代理和静态资源
https://unit.nginx.org/integration/ 与NGINX集成 在NGINX后面安装单元 将NGINX配置为静态Web服务器,并在Unit前面配置反向代理. NGINX直接从 ...
- nginx 配置反向代理
之前的前端是8123端口,使用此端口让nginx的反向代理. vim /etc/nginx/conf.d/80-fr.conf upstream cats{ server 127.0.0.1:8123 ...
随机推荐
- 让vs自动提示没有using的类
默认情况下,没有using的类,敲代码时没有智能提示,需要在[工具]->[选项]中开启
- 海思Hi35xx 通过uboot查看flash指定地址的数据
前言 在实际应用中有遇到过设备放置一段时间后设备不能启动的问题,uboot 完全没有响应,类似于flash中的数据被擦洗掉一样. 网上有介绍说是nandflash 不稳定,高温或是静电会导致nan ...
- [转帖][译]tcpdump 示例教程
https://colobu.com/2019/07/16/a-tcpdump-tutorial-with-examples/ 目录 [−] 基于IP查找流量 根据来源和目标进行筛选 根据网段进行查找 ...
- [转帖]TaiShan v110 - Microarchitectures - HiSilicon
https://en.wikichip.org/wiki/hisilicon/microarchitectures/taishan_v110 Edit Values TaiShan v110 µa ...
- UnixBench的简单测试与验证
UnixBench的简单测试与验证 目标 飞腾2000+ (物理机和虚拟机) Intel Golden 6170 物理机 Intel Golden 5218 虚拟机 Gold 5218 CPU @ 2 ...
- 神经网络优化篇:详解为超参数选择合适的范围(Using an appropriate scale to pick hyperparameters)
为超参数选择合适的范围 假设要选取隐藏单元的数量\(n^{[l]}\),假设,选取的取值范围是从50到100中某点,这种情况下,看到这条从50-100的数轴,可以随机在其取点,这是一个搜索特定超参数的 ...
- 数组 vs. 切片
在Go编程语言中处理数据时,经常会遇到数组和切片.这两者是不同的数据结构,有各自的特性和用途.本文将对Go中的数组和切片进行比较,以帮助大家更好地理解它们. 1. 长度不同 一个主要的区别是长度.在G ...
- 【windows Server 2019系列】 构建IIS服务器
个人名片: 对人间的热爱与歌颂,可抵岁月冗长 Github:念舒_C.ying CSDN主页️:念舒_C.ying 个人博客 :念舒_C.ying Web服务器也称为WWW(World Wide W ...
- TienChin 运行 RuoYi-Vue3
在前几篇文章当中,之前使用的是 Vue2,在某一天发现若依提供了 Vue3 的版本,所以这篇文章主要是运行起来,Vue2,迟早要被替代,所以这里采用最先进的 Vue3. 仓库地址:https://gi ...
- Linux 统计Web服务日志命令
本人在Linux运维中收集的一些通用的统计,Apache/Nginx服务器日志的命令组合. Apache日志统计 # 列出当天访问次数最多的IP命令 [root@lyshark.cnblogs.com ...