Tomcat不能访问ln -s软连接文件夹的前因后果

为了部署方便,把webapps下的大文件(图片等资源)放到工程外,通过软连接的方式设置

命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件。

ln -s /usr/local/pic/images/ /usr/local/tomcat/webapps/ROOT/images

能ROOT下的images 新创建的文件夹指向给 图片真正的存放路径

本来以为这样就可以了,没想到在测试的时候出现了问题: images目录下的静态图片,无法正常在浏览器地址栏里访问到。

勿 用质疑,问题肯定出在Tomcat上,猜想Tomcat可能出于安全的考虑对文件、文件夹的连接进行了限制。google了一下,发现Tomcat的一个 配置项:allowLinking,默认的配置应该是allowLinking=false,配置成true就可以解决这个问题了。

配置项配置在项目的Context元素上:

<Context path="/" docBase="/myApp" reloadable="true" privilege="true" allowLinking="true"></Context>

reloadable="false"的作用为: 

reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。
在开发阶段将reloadable属性设为true,有助于调试servlet和其它的class文件,但这样用加重服务器运行负荷,建议在Web应用的发存阶段将reloadable设为false。

原文链接:https://blog.csdn.net/lijian_nhy/article/details/84373053

上一篇:随意软连接/home/users目录导致环境变量消失后的事故


下一篇:asp.net EF框架执行原生SQL语句