文件存储
当我们项目中,不借助七牛等存储插件时,一般会将资源存储到项目指定的路径,然后通过项目指定路径来获取,下载或者查看等等,当涉及到不同项目之间需要访问时,问题就来了,你会如何实现,很多人第一反应就是,死路径获取,在这里。我提供两种方式
1、使用nginx反向代理访问静态文件
service{
listen 80;
...
location /{
return 401;
}
location ^~ /huanglei/{
root /image/;
#alias /image/;
#expires 30d;
}
}
若按照alias /image/a.png;配置的话,则访问/huanglei/目录里面的文件时,ningx会自动去/image/目录找文件
若按照root /image/配置的话,则访问/huanglei/目录里面的文件时,ningx会自动去/huanglei/image/目录找文件
2、设置“软链”
ln -s /huanglei/image /huanglei
linux下的软链接类似于windows下的快捷方式 ln -s a b 中的 a 就是源文件,b是链接文件名,其作用是当进入b目录,实际上是链接进入了a目录
如上面的示例,当我们执行命令 cd/huanglei/的时候 实际上是进入了 /huanglei/image/,值得注意的是执行命令的时候,应该是a目录已经建立,目录b没有建立。我最开始操作的是也把b目录给建立了,结果就不对了
删除软连接rm -rf b 注意不是rm -rf b/ 是rm -rf b 注意不是rm -rf b/ 是rm -rf b 注意不是rm -rf b/ 重要的事情说三遍。
顺便提一下,当不同服务器要访问相同的文件时,则可以利用nfs进行文件共享,再利用以上两种方式进行,如果资源过大过多,则最好是使用分布式文件系统,直接用id获取资源。
此博客只做记录功能,方便后期回忆,也为后期学习别的做基础。当然不喜勿喷,有错误麻烦留言指正,我会根据实际情况及时更改。谢谢大家。