nginx - 让 Nginx 从多个来源提供静态文件

标签 nginx static-files

我有一个 Nginx 配置,可以正常工作并正确提供静态文件:

location /static/ {
    alias /tmp/static/;
    expires 30d;
    access_log off;
}

但是我现在要做的是如果/tmp/static中不存在静态文件, Nginx 在 /srv/www/site/static 中查找文件.我不知道如何实现,我用 try_files 尝试了一些东西,但我不知道如何正确使用它。

最佳答案

您可以将根设置为要使用的两个路径的公共(public)前缀(在本例中为/),然后只需在 try_files 参数中指定其余路径:

location /static/ {
  root /;
  try_files /tmp$uri /srv/www/site$uri =404;
  expires 30d;
  access_log off;
}

在某个位置使用 root/似乎令人不安,但 try_files 将确保不会提供/tmp/static 或/srv/www/site/static 之外的文件。

关于nginx - 让 Nginx 从多个来源提供静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12272999/

相关文章:

nginx - 如果我删除了/etc/nginx 文件夹(Ubuntu 14.04),如何重新安装 nginx?

file - 对 nginx 创建的文件的权限

python - 我应该将图像上传到 Django 中的静态目录吗?

python - 带有 Django 的 Gunicorn 给出了静态文件的问题

ServiceStack:提供扩展名为 docx 和 zip 的静态文件

haskell - 如何链接到哈姆雷特中的静态文件?

SAS 宏的 REST 端点?

python - 在反向代理后面运行花

django - Nginx uwsgi (104 : Connection reset by peer) while reading response header from upstream

python - Django静态文件404错误