Nginx Try_Files 创建本地内容缓存吗?

Nginx Try_Files 创建本地内容缓存吗?

我正在尝试在本地提供图像,或者从共享提供图像(在本地隔夜刷新)。

我的 nginx 站点在 2 个或更多服务器上提供服务,为了使所有内容在每台服务器上保持同步,我将其存储在 Azure 文件共享中,这就是位置根目录(/mnt/wp)。

这种方法效果很好(与 Nginx Caching 配合使用),但图像的等待时间非常长,我认为这是客户端-服务器-Azure 之间的延迟问题。因此,为了加快速度,我想在本地(/var/www/)提供图像(如果可用),然后再返回到 Azure(/mnt/wp)

到目前为止我已经得到了这个位置块,但是日志显示了重定向循环..

我是否遗漏了什么?

   location /wp-content/ {
            add_header X-uploads $uri;
            try_files @contentCache/$uri $uri;
    }

    location @contentCache{
            root /var/www;
    }

答案1

您的语法try_files错误。命名位置应该是放置在最后一个元素中的默认操作。如下所示:

location /wp-content/ {
    ...
    try_files $uri @contentCache;
}
location @contentCache {
    ...
    try_files $uri =404;
}

这个文件了解更多信息。

如果需要反转顺序,只需交换root指令即可。

相关内容