Nginx try_files -日志命中/未命中

xqnpmsa8  于 2023-01-04  发布在  Nginx
关注(0)|答案(1)|浏览(162)

我有两个坐骑:

  • /mnt/nfs -包含 * 大量 * 文件NFS装载。
  • /mnt/ssd -一个本地SSD磁盘,充当上述nfs装载的缓存。

在nginx中,我配置了一个如下的位置:

location ~ /my_location/(.*) {
  alias /mnt/;
  try_files ssd/$1 nfs/$1 =404;
}

这本身就很好用。
我想记录文件是什么时候从ssd中找到的,以及什么时候需要从nfs挂载中获取它。
ssd查找文件将记录为HIT
必须转到nfs将记录为MISS
我如何才能做到这一点?

kmbjn2e3

kmbjn2e31#

我刚刚想到的一个可能的解决方案是使用一个额外的命名位置:

location /my_location/ {
    alias /mnt/ssd/;
    set $file_source ssd;
    try_files $uri @nfs;
}

location @nfs {
    alias /mnt/nfs/;
    set $file_source nfs;
    try_files $uri =404;
}

现在您知道如何处理这个新变量了。

相关问题