Nginx 学习笔记(三)proxy_cache 缓存配置和ngx_cache_purge模块

简介: 反向代理的缓存清理一、proxy_cache配置(1)如何配置和安装,都在这里了:https://github.com/Tinywan/Lua-Nginx-Redis/blob/master/Nginx/Nginx-Web/Nginx-8-proxy_cache.

反向代理的缓存清理

一、proxy_cache配置

(1)如何配置和安装,都在这里了:https://github.com/Tinywan/Lua-Nginx-Redis/blob/master/Nginx/Nginx-Web/Nginx-8-proxy_cache.md

(2)被代理域名:http://www.amailive.com/

(3)测试域名:amailive.tinywan.com

(4)Server主机配置

    server {
        listen       80;
        server_name  redis.tinywan.com;

        location / {
            proxy_cache cache_one;
            proxy_cache_valid 200 304 1h;
            proxy_cache_valid 404 1m;
            proxy_cache_key $host$uri$is_args$args;
            proxy_set_header        Host            $host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            add_header  Nginx-Cache "$upstream_cache_status";
            proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;
            proxy_pass http://www.redis.net.cn/;
            expires 1d;
        }

    }

 (5)重启服务器,测试配置是否成功

【1】第一次尝试,没有缓存

 proxy_cache模块的工作原理如图所示

【2】第二次再次访问,可以看出已经是命中缓存了

proxy_cache模块的工作原理如图所示

【3】查看缓存目录结构

【4】详细的缓存文件

【5】所有的静态文件都被缓存

二、ngx_cache_purge配置

1、模块下载地址 :https://github.com/FRiCKLE/ngx_cache_purge
2、编译安装。在我另外一篇博客:http://www.cnblogs.com/tinywan/p/7860774.html

      注:这个模块不可以动态编译,我第一次动态编译后,结果没有编译进去,没有.so文件生成

3、配置文件

        location ~ /purge(/.*) {
                allow all; #127.0.0.1; 只允许本机访问
                deny all;  #禁止其他所有ip
                proxy_cache_purge cache_one $host$1$is_args$args;  #清理缓存
                access_log  logs/cache.log cache; # 增加清理输出日志
        }

注:Cache_proxy Purge,这个url中,必须以波浪号开头,不要加"^"

 4、测试

【1】查看一个缓存文件路径,这个路径就是缓存文件的真实路径了

【2】清理缓存,在浏览器地址栏输入:http://amailive.tinywan.com/purge/lib/swiper/3.0.6/js/maps/swiper.jquery.min.js.map 

 

【3】再次查看该缓存文件,可以看出已经被清理掉,不存在了

【4】再次访问原来的url,缓存就会失效了。

三、参考文献

 1、nginx系列(二十)nginx的缓存清理模块ngx_cache_purge

 2、linux + nginx + ngx_cache_purge 缓存清理

3、动态PHP电商网站伪静态的 Nginx反向代理Cache缓存终极设置

目录
相关文章
|
4天前
|
移动开发 前端开发 JavaScript
前端vue2、vue3去掉url路由“ # ”号——nginx配置(一)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
60 0
|
4天前
|
JavaScript 前端开发 应用服务中间件
angular引入包、路由权限配置、打包问题与nginx配置问题(简单部署)
angular引入包、路由权限配置、打包问题与nginx配置问题(简单部署)
26 0
|
4天前
|
前端开发 JavaScript 应用服务中间件
前端vue2、vue3去掉url路由“ # ”号——nginx配置(二)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
66 0
|
3天前
|
负载均衡 应用服务中间件 nginx
解决nginx配置负载均衡时invalid host in upstream报错
在Windows环境下,配置Nginx 1.11.5进行负载均衡时遇到问题,服务无法启动。错误日志显示“invalid host in upstream”。检查发现上游服务器列表中,192.168.29.128的主机地址无效。负载均衡配置中,两个服务器地址前误加了"http://"。修正方法是删除上游服务器列表和proxy_pass中的"http://"。问题解决后,Nginx服务应能正常启动。
33 4
解决nginx配置负载均衡时invalid host in upstream报错
|
4天前
|
应用服务中间件 nginx
nginx配置集群轮训策略
nginx配置集群轮训策略
418 0
|
4天前
|
安全 网络协议 应用服务中间件
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
|
4天前
|
Ubuntu 应用服务中间件 nginx
ubuntu编译安装nginx及安装nginx_upstream_check_module模块
以上是编译安装Nginx和安装 `nginx_upstream_check_module`模块的基本步骤。根据你的需求和环境,你可能需要进一步配置Nginx以满足特定的要求。
27 3
|
4天前
|
应用服务中间件 PHP nginx
php如何实现检测nginx配置的正确性
请确保在执行此操作时,PHP有足够的权限来执行Nginx命令和访问Nginx配置文件。另外,将上述代码嵌入到您的应用程序中时,要注意安全性,以防止潜在的命令注入攻击。
53 3
|
4天前
|
安全 应用服务中间件 网络安全
linux_nginx中添加ssl配置(open ssl)
linux_nginx中添加ssl配置(open ssl)
27 1
|
4天前
|
JSON JavaScript 前端开发
vue2_vite.config.js的proxy跨域配置和nginx配置代理有啥区别?
vue2_vite.config.js的proxy跨域配置和nginx配置代理有啥区别?
34 1