说明

最近运维一个网站里面含有不经常变化的小图片,而每次请求都需要调用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配置反向代理缓存相关推荐

  1. Nginx配置反向代理访问内部服务

    Nginx可以提供高性能的反向代理服务,将客户机请求转发给内部网络中隐藏在幕后的真正的服务器,并将从服务器上得到的结果数据返回给Internet上请求的客户端,在用户看来,Nginx扮演的就是真实服务 ...

  2. 【推荐】如何用 Nginx 构建反向代理缓存服务器?

    作者:一盏烛光,贤牛特邀工程师. 防伪码:曾经沧海难为水,除却巫山不是云. 代理服务可简单的分为正向代理和反向代理: 正向代理: 用于代理内部网络对 Internet 的连接请求(如×××/NAT), ...

  3. Windos环境用Nginx配置反向代理和负载均衡

    Windos环境用Nginx配置反向代理和负载均衡 引言:在前后端分离架构下,难免会遇到跨域问题.目前的解决方案大致有JSONP,反向代理,CORS这三种方式.JSONP兼容性良好,最大的缺点是只支持 ...

  4. nginx配置反向代理和负载均衡完结篇

    具体安装配置参考之前的文章 https://blog.csdn.net/weixin_44001965/article/details/102723855 文章目录 一,nginx操作的常用命令 ng ...

  5. nginx配置反向代理浏览器输入地址后点击登陆URL发生变化的处理

    今天项目上需要再用NGINX配置反向代理需求如下: 现在有A服务器只做为nginx服务器,B服务器作为代码服务器,用户访问A要实际上访问的是B的程序. 处理方式就是用nginx的方向代理处理即可: 打 ...

  6. nginx配置反向代理过程中遇到的坑 配置好之后报404问题

    项目场景: nginx配置反向代理路径 问题描述 在配置nginx反向代理的过程中,路径可以匹配上但是一直报404,找不到路径.nginx配置如下: location /business {add_h ...

  7. Nginx配置反向代理,一篇搞定!

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/zxd1435513775/article/ details/102508463 一.引言 其他话 ...

  8. ci框架 反向代理配置_《网站建设》Nginx配置反向代理

    [网站克隆] nginx反向代理镜像站点做贼站谈Nginx,实力是反向代理,因为研究肉鸡刷Adsense使用,花了1-2天来弥补Nginx的知识,发现有搜索. [网站克隆] nginx反向代理镜像站点 ...

  9. windows版 nginx配置反向代理实例教程 跳转tomcat和php网站

    抄自 https://www.cnblogs.com/j-star/p/8785334.html 个人理解 nginx端口设置为80,简称n tomcat端口设置为其他,例如8080,简称t php网 ...

最新文章

  1. mongoose小试牛刀
  2. 计算机视觉--Python实现人体姿态估计
  3. Kafka 是如何保证数据可靠性和一致性
  4. CF981E Addition on Segments 线段树分治 + bitset优化
  5. java ee的小程序_Java EE调度程序
  6. 【数据仓库】什么是数据仓库?
  7. 【java笔记】常用函数式接口(3):Predicate接口
  8. [转载] 字符串的startsWith和endWith方法
  9. Artifactory安装配置
  10. 搜索的逻辑即是用户的逻辑
  11. 搭建Struts框架
  12. linux 系统语言设置字体,Linux语言和字体的自定义设置
  13. 汇编语言指令系统——控制转移类指令
  14. Windows10下安装使用Bochs-2.6.11
  15. idea插件JRebel激活
  16. Python-开根号的几种方式
  17. 学习笔记:中国大学MOOC《计算机程序设计C++》第3周单元测试
  18. 编码、学习、玩耍一条龙,这是我看过最良心的「游戏编程」网站,没有之一!...
  19. Linux搭建web网站综合实验
  20. reverse方法(自己实现)

热门文章

  1. jenkin服务端搭建
  2. 在 React Native 中实现 3D 动画
  3. 基于混合整数线性规划的电力系统机组组合优化研究
  4. 唤醒手腕Python全栈工程师学习笔记(框架应用篇)
  5. Kotlin 移动端跨平台是种怎样的体验
  6. python实现选择文件_python如何实现文件路径的选择?
  7. xv-6 EX(学习路径 超全总结 持续更新中)
  8. 十个适合壁纸动漫的网站,知乎超100万人知道,以后壁纸不求人
  9. 资产超2000亿美元,48小时闪崩:硅谷银行破产啦!一大波科技公司发不出工资?...
  10. Md2All:最优雅的代码排版工具