编辑
2022-12-10
过往问题
00
请注意,本文编写于 741 天前,最后修改于 655 天前,其中某些信息可能已经过时。

目录

第一种方法
第二种方法
第三种方法
终极方法

安装本博客配置好负载均衡后发现使用子域名访问无法看到更改,使用端口号访问可以看到改动。 可以确定是nginx的缓存问题,需要删除nginx的缓存。

第一种方法

网上很多都是在nginx的配置里增加ngx_cache_purge,但是我是懒狗所以直接去删目录了。 路径如下

/www/server/nginx/proxy_cache_dir

全删掉即可

第二种方法

location / { proxy_pass http://localhost:8083; proxy_set_header Host $host; #解决 499 服务端超时客户端强制关闭 proxy_ignore_client_abort on; #如果expires 和 add_header 同时开启的情况下,则add_header优于expires生效 #Cache-Control比Expires可以控制的多一些, 而且Cache-Control会重写Expires的规则 #设置禁止浏览器缓存,每次都从服务器请求 add_header Cache-Control no-cache; add_header Cache-Control private; #设置缓存上面定义的后缀文件缓存到浏览器的生存时间 expires -1s; }

增加配置后重载nginx即可

第三种方法

或写一个监控脚本,监视服务的目录,有修改就清空nginx的缓存

shell
#!/bin/bash # 指定监视的目录 watch_dir=/path/to/watch # 指定需要删除的目录 delete_dir=/path/to/delete # 指定延迟时间(单位:秒) delay_time=10 # 使用inotifywait监视目录变化 inotifywait -r -m -e create,modify,delete,move "$watch_dir" | while read path action file; do # 当目录变化时,等待指定时间后删除另一个指定的目录 if [[ "$path" == "$watch_dir" ]] && [[ "$file" != "" ]]; then echo "Detected file change in $path: $action $file" sleep $delay_time rm -rf "$delete_dir" echo "Deleted $delete_dir" fi done

终极方法

image.png 将此处两个过期时间改小

本文作者:beiklive

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!