linux下通过软连接实现访问项目路径外面的资源
Posted zeng1994
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下通过软连接实现访问项目路径外面的资源相关的知识,希望对你有一定的参考价值。
- 该方案的好处是虚拟目录下的文件也可以类似于静态资源一样这样访问
- 美中不足的是上传图片还需要上传到虚拟目录的绝对路径,在网上没看到怎么获取虚拟目录的绝对路径的方法;个人想到的解决方案就是配置一个properties文件,里面放绝对路径。
- 该方案的好处就是可以和类似静态文件一样访问,上传就直接上传到项目根目录下的文件夹即可。和文章开头说的那种方案在代码上来说是一样的。
- 缺点是需用通过linux命令对上面项目根目录的上传文件夹做软连接,连接完之后上传的文件其实是上传到了软连接的文件夹去了。
- 还有个问题是需要配置tomcat支持软连接
一、软连接介绍
ln -s 源文件 目标文件
ln -s 源文件 目标文件
二、实际案例
- 在linux中建立一个名为images的文件夹。(这个文件夹名字要和你准备软连接的文件夹名字一样,这个文件夹的位置随便在那都可以,但是一般都在tomcat的外面。)
- 进入到tomcat下的部署好的项目路径下,创建软连接。源文件夹是上面创建的该文件夹,目标文件夹是后面我们上传的文件夹。
- 建立软连接后,可以测试上传文件,会发现文件上传后跑到tomcat外面的文件夹里面去了。但是用访问静态文件的方式现在还是访问不到,会报404。原因是tomcat默认不支持软连接,需要在conf/context.xml中开启。配置方法如下:
tomcat5、6、7版本:
tomcat8、9版本:
<Context> <Resources allowLinking="true" /> </Context>
更多配置参考:http://www.cnblogs.com/wuxun1997/p/6769971.html
- 配置完后,就大功告成了。
更多软连接的案例可参考:http://blog.csdn.net/ggmmqq/article/details/8253570
http://www.cnblogs.com/wuxun1997/p/6769971.html
三、软连接的注意事项
(1)软连接的删除需要特别注意,具体可参考
http://www.cnblogs.com/cartsp/p/6437046.html
http://blog.csdn.net/zhenwenxian/article/details/16369767
(2)笔者发现eclipse的重新部署还是会把软连接的源目录下的文件删除,这个是个很奇怪的地方。不过运维人员重新部署肯定不是用eclipse的。所以不用担心。
(3)重新部署项目后,软连接需要重新建立
后续还有一篇介绍linux软连接的文章,推荐阅读。
以上是关于linux下通过软连接实现访问项目路径外面的资源的主要内容,如果未能解决你的问题,请参考以下文章