nginx找不到资源时如何处理

近期,我们的一个独立部署客户的文件服务器磁盘使用率已达到80%以上,且增速较快,预计不久后将用完,因此我们向客户提出扩容需求,最终客户商讨的解决方案是新增一块磁盘,将三个月以前的历史文件移动到新磁盘下。但是文件移动后会存在一个问题:用户想查找之前上传的文件,系统会找不到。
公司业务系统文件上传的文件(通常是图片)会保存在服务器的/data/nas/pic目录下,业务服务器通过nginx配置代理查找文件路径。现有关键配置如下

server {
  location / {
    root /data/nas/pic;
  }
}

将新磁盘挂载到/data/nas_his,并将三个月前的历史文件移动到该目录下,按原来的目录结构存放。然后,为了解决找不到历史文件的问题,修改nginx配置:

server {
  location / {
    root /data/nas/pic;
    error_page 404 = @download;
  }

  location @download {
    root /data/nas_his/pic;
  }
}

这样,当用户想查找三个月以前的历史文件时,程序会先到/data/nas/pic下查找,如果找不到,就到/data/nas_his/pic下查找

posted @ 2023-02-06 16:50  Charramma  阅读(563)  评论(0编辑  收藏  举报