我们有两个Nginx服务器,带有独立的本地缓存,用于缓存图像.定期存在缓存大小的非托管增长问题.这个大小可能比nginx.conf中的max_size大得多.因此,缓存占用所有可用磁盘空间.
我想了解这个问题的原因是什么.
代理缓存配置(nginx.conf):
proxy_cache_path /opt2/nginx-cache-images1 max_size=150g levels=2:2 keys_zone=images1:1024m inactive=24h;
proxy_temp_path /opt2/proxy_temp 1 2;
/ opt2 / nginx-cache-images1的大小约为200GB.
网站位置配置:
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Is-Referer-Search-Engine $is_referer_search_engine;
proxy_hide_header Set-Cookie;
proxy_hide_header Content-Disposition;
proxy_pass http://ua-image-proxy;
default_type image/jpeg;
proxy_cache images1;
proxy_cache_key ua$request_uri$is_referer_search_engine;
proxy_cache_valid 200 24h;
proxy_cache_valid 301 24h;
proxy_cache_valid 404 1h;
}
Nginx版本:1.7.7和1.7.9.
它是在Ubuntu 14.04上编译的.
同样的问题在这里使用Nginx版本1.8.0.
proxy_cache_path /var/cache/nginx levels=2:2 keys_zone=STATIC:100m inactive=4h max_size=512m; # du -hs /var/cache/nginx/ 838M /var/cache/nginx/
Maby解决方法是为缓存文件夹安装单独的磁盘,因此它不会100%填满系统磁盘..?