首页 > 系统相关 >Nginx--缓存

Nginx--缓存

时间:2024-02-05 11:04:32浏览次数:25  
标签:缓存 zone -- cache Nginx valid proxy path

一般存的是静态资源,可以提高客户端的访问速度,并减轻服务器的压力

 

1 客户端缓存

 通过设置 expires 指令,响应头中将会返回Expires 和Cache-Control字段

 当浏览器发现响应头存在这样的缓存字段,当再次请求相同资源时,就会确认在客户端的资源是否过期

location / {
    expires    30m;    #缓存30分钟
}

 

2 服务器缓存(主要设置在反向代理服务器上)

 将静态资源的缓存设置在服务器端,当多个用户访问同一个资源时,缓存命中率及系统的性能将以指数的形式提升

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
     ...
        upstream backend{
            server 192.168.198.130;
            server 192.168.198.131;
        }
        proxy_cache_path /usr/local/nginx/cache levels=1:2 keys_zone=test:20m max_size=10g;
        server {
            listen       80;
            server_name  localhost;
            #charset koi8-r;
            #access_log  logs/host.access.log  main;
            location / {
               proxy_pass http://backend;
               proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;
               proxy_set_header X-real-ip    $remote_addr;
               proxy_cache test;
               proxy_cache_valid 200 10m;
            }
        }
proxy_cache_path
语法:proxy_cache_path path [levels=number] keys_zone=zone_name:zone_size [inactive=time] [max_size=size];
默认值:None
使用字段:http
指定缓存的路径和一些其他参数,缓存的数据存储在文件中,并且使用代理url的哈希值作为关键字与文件名
levels - 目录结构,可以使用任意的1位或2位数字作为目录结构,如 X, X:X或X:X:X ,最多三级
keys_zone - 指定所有活动的key和元数据存储的共享内存池区域
    可以定义多个内存池,但必须是不重复的路径,例如:
    proxy_cache_path  /data/nginx/cache/one    levels=1      keys_zone=one:10m;
    proxy_cache_path  /data/nginx/cache/two    levels=2:2    keys_zone=two:100m;
    proxy_cache_path  /data/nginx/cache/three  levels=1:1:2  keys_zone=three:1000m;
inactive - 指定缓存数据的失效时间,默认为10分钟
max_size - 定义最大缓存大小,超出后则删除最少使用的数据
proxy_cache
语法:proxy_cache  zone_name;
默认值:None
使用字段:http, server, location
设置一个缓存区域的名称,一个相同的区域可以在不同的地方使用
proxy_cache_valid
语法:proxy_cache_valid reply_code [reply_code …] time;
默认值:None
使用字段:http, server, location
为不同的应答设置不同的缓存时间,例如:
proxy_cache_valid  200 302  10m;
proxy_cache_valid  404      1m;
为应答代码为200和302的设置缓存时间为10分钟,404代码缓存1分钟
如果只定义时间:
proxy_cache_valid 5m;
那么只对代码为200, 301和302的应答进行缓存
同样可以使用any参数任何应答
proxy_cache_valid  200 302 10m;
proxy_cache_valid  301 1h;
proxy_cache_valid  any 1m;

 



标签:缓存,zone,--,cache,Nginx,valid,proxy,path
From: https://blog.51cto.com/u_16558404/9601621

相关文章

  • Nginx--rewrite
    rewriteURL重写,可以在改变网站结构后,无需要求客户端用户修改原有的浏览器书签,也无需其他网站修改对我们网站的友情链接,依赖于PCRE库的支持 1if语法:if(condition){...}默认值:—上下文:server,location如果condition为真,执行定义在大括号中的rewr......
  • Nginx--引用多配置文件
    在nginx.conf的http模块,include指定某个目录下的*.confusernginx;worker_processesauto;error_log/var/log/nginx/error.log;pid/run/nginx.pid;#Loaddynamicmodules.See/usr/share/nginx/README.dynamic.include/usr/share/nginx/modules/*.conf;events{......
  • Nginx--平滑升级
    在不中断服务的情况下,新的请求也不会丢失,使用新的nginx可执行程序替换旧的 1 查看老版本的编译选项[root@localhost~]#nginx-Vnginxversion:nginx/1.16.0builtbygcc4.8.520150623(RedHat4.8.5-44)(GCC)builtwithOpenSSL1.0.2k-fips26Jan2017TLSSNI......
  • Nginx--upstream健康检查
    nginx判断节点失效状态:Nginx默认判断失败节点状态以connectrefuse和timeout状态为准,不以HTTP错误状态进行判断失败,因为HTTP只要能返回状态说明该节点还可以正常连接,所以nginx判断其还是存活状态;除非添加了proxy_next_upstream指令设置对404、502、503、504、500和timeout......
  • DNS--安装&&配置文件
    1 下载#下载服务yum-yinstallbind#下载解析工具yum-yinstallbind-utils 2 配置文件主配置文件/etc/named.conf区配置文件/var/named/配置文件模板/usr/share/doc/bind-9.8.2/sample 3 协议及端口TCP53主要用于主从同步,需要的是可靠的数......
  • DNS--简介&&解析过程
    1 功能将域名解析为IP地址基本解决IP难于记忆的问题也可以将IP地址解析为域名 2 域名由一连串用点(.)分隔的字符串组成的标识计算机在网络中的电子方位的 3 存储位置linux/etc/hostswindowsC:\WUNDOWS\system32\drivers\etc\hosts 4 全质量域名/完全域名......
  • DNS--解析
    一 正向解析(域名解析成ip)1 修改主配置文件[root@localhost~]#cp-p/etc/named.conf/etc/named.conf.bak[root@localhost~]#vim/etc/named.confoptions{listen-onport53{any;};#默认127.0.0.1,会导致其他人无法访问DNS服务器,需修改allow-qu......
  • DNS--智能地址解析(view视图)
    域名:xinenhui.comDNS服务器:192.168.198.128DNS1:192.168.198.129DNS2:192.168.198.146 1 简介使客户端就近访问DNS服务器来加速用户的访问速度 提高客户端体验不同的客户端使用同一个DNS服务器解析同一个域名得到不同的IP 2 修改主配置文件 设置view[root@localhost~]#vi......
  • DNS--主从
    操作系统:centos7.8DNS-master:192.168.198.128DNS-slave:192.168.198.129 一主从同步过程master修改完成重启后将传送notify给所有slaveslave将查询master的SOA记录master收到请求后将SOA记录发送给slaveslave收到后同时对比查询结果中的serial值,大于将发送zonetransfer......
  • 如何在Python中保留异常装饰器的堆栈跟踪
    异常装饰器是一种通过装饰器(Decorator)机制来捕获和处理函数中异常的技术。当函数中发生异常时,装饰器可以捕获异常并进行处理,也可以记录异常信息或进行其他操作。堆栈跟踪(StackTrace)是指在发生异常时,系统会输出一个包含异常信息和函数调用链的信息。对于经常使用python做爬虫来说,这......