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;
作者:IT民工郑小江
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。