Nginx配置多磁盘文件共享,如何实现高效访问?
摘要:最新在做项目的时候,由于项目历史原因,附件分几个磁盘存放,需要将几个磁盘文件进行整合访问,通过对Nginx的研究,可以实现。 我的文件分别存在同一台电脑上的D:serverfilecenterdtxt和H:serverfilec
最新在做项目的时候,由于项目历史原因,附件分几个磁盘存放,需要将几个磁盘文件进行整合访问,通过对Nginx的研究,可以实现。
我的文件分别存在同一台电脑上的D:/server/filecenter/dtxt/和H:/server/filecenter/dtxt/下,实现思路是当访问资源一时,没有找到,则跳转到资源二路径下查找,Nginx配置如下;
#资源访问路径一
location ^~ /file/dtxt {
alias D:/server/filecenter/dtxt/;
autoindex off;
allow 192.168.80.48; #允许访问的IP
allow 192.168.80.46; #允许访问的IP
allow 192.168.80.58; #允许访问的IP
deny all; #禁止允许以外的全部IP
if (!-e $request_filename) {#判断文件是否存在
set $requestUrl $uri;
rewrite ^/(.*)$ /diskh$requestUrl permanent; #跳转到资源访问路径2上
break;
}
absolute_redirect off;
}
#资源访问路径二
location ^~ /diskh/file/dtxt {
alias H:/server/filecenter/dtxt/;
autoindex off;
allow 192.168.80.48; #允许访问的IP
allow 192.168.80.46; #允许访问的IP
allow 192.168.80.58; #允许访问的IP
deny all; #禁止允许以外的全部IP
absolute_redirect off;
}
配置完成之后,重启Nginx服务,分别在两个磁盘对应存放不同的文件;
在D:/server/filecenter/dtxt/文件夹下,存放1.png文件,访问路径:http://192.168.80.48:48000/file/dtxt/1.png;
在H:/server/filecenter/dtxt/文件夹下,存放2.png文件,访问路径:http://192.168.80.48:48000/file/dtxt/2.png;
分别访问两个路径时,都能看得到文件,但是当访问图片2.png时,路径会重定向到新路径下,如下图;
访问1.png,地址不会发生变化,还是http://192.168.80.48:48000/file/dtxt/1.png
访问2.png,地址会发生变化,从http://192.168.80.48:48000/file/dtxt/2.png变成了http://192.168.80.48:48000/diskh/file/dtxt/2.png;
