nginx缓存清理

背景

昨天打开我的gpt镜像网站,意外发现静态图片资源全都无法获取了

CoCo-AI

一番排查下来,发现是引用的cdn链接失效了

且cdn源是属于七牛云的,且不再维护,于是果断切换到cloudflare

export function getEmojiUrl(unified: string, style: EmojiStyle) {
  // return `https://cdn.staticfile.org/emoji-datasource-apple/14.0.0/img/${style}/64/${unified}.png`;
  return `https://cdnjs.cloudflare.com/ajax/libs/emoji-datasource-apple/14.0.0/img/${style}/64/${unified}.png`;
}

然后重新给前端项目打包,打镜像,部署

yarn
yarn install
yarn build
docker build -t aichat-web:latest .
docker-compose up -d

一系列操作之后,发现...静态资源还是不生效,cdn修改未成功

抱着怀疑的态度,进行各种合理猜测和推敲,比如编译不成功?代码未成功修改?浏览器缓存?种种,经验证都不是,最后想到了可以绕过nginx,通过ip+端口直连前端服务,果然通了,代码一切正常。

到了这里问题已经很明显了,就是nginx缓存导致的

nginx会缓存一些静态资源,如果恰巧修改了静态资源,且未清除缓存,就可能会导致问题的产生

清除nginx缓存

这里就很头疼了,因为缓存相关配置指令是 "proxy_cache_path "

,但默认情况下,nginx.conf配置文件是不包含这个指令的,不过好在困难总比方法多,可以使用linux的搜索功能。

grep -r "proxy_cache_path"  /www

由于我的nginx是从宝塔上安装的,所以搜索这个问题。

果然被我发现端倪了

/www/server/nginx/conf/proxy.conf:proxy_cache_path /www/server/nginx/proxy_cache_dir levels=1:2 keys_zone=cache_one:20m inactive=1d max_size=5g;

查看这个文件:

cat /www/server/nginx/conf/proxy.conf
proxy_temp_path /www/server/nginx/proxy_temp_dir;
proxy_cache_path /www/server/nginx/proxy_cache_dir levels=1:2 keys_zone=cache_one:20m inactive=1d max_size=5g;
client_body_buffer_size 512k;
proxy_connect_timeout 60;
proxy_read_timeout 60;
proxy_send_timeout 60;
proxy_buffer_size 32k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
proxy_cache cache_one;

通过 inactive=1d 我们知道了缓存时间为1天,这里说的是不活跃的资源,如果活跃就会长期保存,所以手动清除缓存是必要的。

通过 proxy_cache_path 我们知道了缓存目录,清除它

rm -rf /www/server/nginx/proxy_cache_dir/*

重载nginx(可能不需要这一步)

service nginx force-reload

至此问题成功解决

相关推荐

  1. nginx如何清理页面缓存

    2024-05-01 06:36:02       14 阅读
  2. Nginx 缓存集成、清除、设置不缓存资源

    2024-05-01 06:36:02       32 阅读
  3. nginx自动清理脚本

    2024-05-01 06:36:02       10 阅读
  4. Flutter Web应用清理缓存

    2024-05-01 06:36:02       34 阅读
  5. Vue 打包自动清理缓存

    2024-05-01 06:36:02       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-01 06:36:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-01 06:36:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-01 06:36:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-01 06:36:02       20 阅读

热门阅读

  1. Spring boot 应用引入 Spring cloud alibaba nacos

    2024-05-01 06:36:02       11 阅读
  2. NLP Step by Step -- 如何微调一个模型(1)

    2024-05-01 06:36:02       11 阅读
  3. NLP中常见的tokenize方式及token类型

    2024-05-01 06:36:02       10 阅读
  4. spring源码分析之上下文构建

    2024-05-01 06:36:02       11 阅读
  5. 2024年华东杯数学建模思路+论文+代码

    2024-05-01 06:36:02       13 阅读
  6. 自然语言处理(NLP)简介

    2024-05-01 06:36:02       11 阅读
  7. np.concatenate在图像处理中的使用

    2024-05-01 06:36:02       11 阅读
  8. 图像处理:时域、空域、频率的滤波介绍

    2024-05-01 06:36:02       10 阅读
  9. 10种新兴网络安全威胁和攻击手法

    2024-05-01 06:36:02       10 阅读
  10. 【无标题】

    2024-05-01 06:36:02       10 阅读
  11. 第19天 IO流

    2024-05-01 06:36:02       7 阅读
  12. HTML中input输入框(详解输入框的用法)

    2024-05-01 06:36:02       9 阅读
  13. 使用一等对象函数重构策略模式

    2024-05-01 06:36:02       12 阅读
  14. 【Linux】基于tcp的简单服务器程序

    2024-05-01 06:36:02       12 阅读