我对try_files在 nginx 上的工作方式感到困惑,这需要在实时生产服务器上完成,因此在 100% 确定之前无法进行测试。我正在使用header("X-Accel-Redirect: /out/" . $fname);
从 PHP 传递文件,这些文件由 nginx 配置中的以下内容处理:
location /out {
root /home;
internal;
}
现在我已经在我的服务器上添加了一个额外的磁盘来存储文件,我希望 nginx 首先/home
在/home2
. 我应该如何实现这个设置,下面的代码是否有效并且应该完成我需要的:
location /out {
try_files /home /home2;
internal;
}
另外,使用 try_files 时我们是否需要 root 指令?
来自try_files 的 nginx 文档:
正如文档所指定的,您需要有一个必须存在的后备 URI。你可以在你的设置中尝试这样的事情:
如果您使用 指定了正确的路径,则不需要
root
-block 中的-directive 。location
try_files