Nginx 配置 多磁盘文件共享

最新在做项目的时候,由于项目历史原因,附件分几个磁盘存放,需要将几个磁盘文件进行整合访问,通过对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;

 

posted @ 2022-10-12 11:37  IT民工郑小江  阅读(534)  评论(0编辑  收藏  举报