11. Nginx缓存

缓存类型

  1. 浏览器缓存
  2. Nginx代理服务器缓存
  3. 服务器缓存,例如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 模块清理特定缓存

专题阅读

原文地址:https://www.cnblogs.com/zy108830/p/12600349.html

时间: 2024-11-23 16:56:14

11. Nginx缓存的相关文章

nginx缓存设置proxy_cache

http://www.cnblogs.com/dudu/p/4597351.html http块: proxy_cache_path /tmp/cache levels=1:2 keys_zone=nuget-cache:20m max_size=50g inactive=168h; server块: proxy_cache nuget-cache; proxy_cache_valid 168h; proxy_ignore_headers Set-Cookie Cache-Control;  

Nginx缓存配置以及nginx ngx_cache_purge模块的使用

web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存服务器直接输出内容给客户端,而不是向源服务器再次发送请求.Web缓存降低了内容源Web服务器,数据库的负载,减少了网络延迟,提高了用户访问的响应速度,增强了用户体验. web缓存服务器中,最著名的要数Squid Cache(简称为Squid),Squid是一个流浪的自由软件的代理服务器和Web缓存服务器.---

nginx缓存优先级(缓存问题者必看)

接触nginx的兄弟或多或少都有遇到缓存问题,要么是nginx为什么不缓存,要么就是nginx缓存很快就失效等等问题,在网上找了一遍nginx缓存优先级的文章,大家可以参考下. 架构图 client端 <------------------> nginx cache <------------------>源服务器 经过大量测试发现:nginx的过期顺序是有一个优先级的.下面首先说明各个影响缓存过期的因素: (1)inactive:在proxy_cache_path配置项中进行配置

6月8日任务(12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件)

课程名称:12.10?Nginx访问日志笔记内容: [[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf定义日志格式combined_realip:日志格式名字,可以写任意,但是后面应用都要写这个log_format ys '$remote_addr $http_x_forwarded_for [$time_local]'' $host "$request_uri" $status'' "$http_refer

ASP.NET Core 缓存技术 及 Nginx 缓存配置

前言 在Asp.Net Core Nginx部署一文中,主要是讲述的如何利用Nginx来实现应用程序的部署,使用Nginx来部署主要有两大好处,第一是利用Nginx的负载均衡功能,第二是使用Nginx的反向代理来降低我们后端应用程序的压力.那除了以上两点之外,其实我们还可以利用代理服务器的缓存功能来进一步的降低后端应用程序的压力,提升系统的吞吐量(tps).这一篇就来看一下具体应该如何去做吧. 目录 WEB 缓存 ASP.NET Core 缓存 内存缓存 分布式缓存 Response 缓存 Ng

Nginx缓存的配置调优,Tengine安装和配置。

反向代理缓存: nginx做为反向代理时,能够将来自upstream的响应缓存至本地,并在后续的客户端请求同样内容时直接从本地构造响应报文. 可以在http全局配置内定义缓存. http{ proxy_cache_path /tmp/nginx/cache levels=1:2 keys_zone=cone:10m max_size=1g; } 在Server里调用. server { listen       80; server_name  localhost; location / { p

nginx缓存及压缩模块

一.nginx缓存   共享内存(存储键和缓存对象元数据)  磁盘空间(存储数据) 提示:proxy_cache_path:不能定义在server{ }中缓存目录: (1)先全局定义 proxy_cache_path /nginx/cache/first levels=1:2:1     keys_zone=first:20m max_size=16g; server { listen       80; server_name  www.cqelpay.com; add_header X-Vi

Nginx缓存和程序动静分离设置

一.配置Nginx缓存. 参考:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_path 语法 proxy_cache_path path [levels=levels] keys_zone=name:size [inactive=time] [max_size=size] [loader_files=number] [loader_sleep=time] [loader_threshold=time];

nginx反向代理,动静态请求分离,以及nginx缓存应用,以及使用ngx_cache_purge清除指定URL

一,nginx反向代理配置 #tomcat Java代码   upstream tomcat_server{ server 127.0.0.1:8080; } erver{ listen 80; server_name www.wolfdream.com; location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X